Genauere Betrachtung von Plattformaufrufen
Aktualisiert: November 2007
Plattformaufrufe verwenden Metadaten zum Suchen exportierter Funktionen und zum Marshallen ihrer Argumente zur Laufzeit. Die folgende Abbildung veranschaulicht diesen Prozess.
Ein Plattformaufruf an eine nicht verwaltete DLL-Funktion
Wenn durch einen Plattformaufruf eine nicht verwaltete Funktion aufgerufen wird, werden nacheinander folgende Aktionen durchgeführt:
Die DLL, welche die Funktion enthält, wird gesucht.
Die DLL wird in den Speicher geladen.
Die Adresse der Funktion wird im Speicher gesucht. Die dazugehörigen Argumente werden auf den Stapel verschoben und die Daten nach Bedarf gemarshallt.
Hinweis: Die DLL wird nur beim ersten Aufruf der Funktion gesucht und geladen. Dasselbe gilt für die Suche nach der Adresse der Funktion im Speicher.
Die Steuerung wird zur nicht verwalteten Funktion übertragen.
Ausnahmen, die von der nicht verwalteten Funktion generiert wurden, werden von einem Plattformaufruf an den verwalteten Aufrufer ausgelöst.