Marshallen von Zeichenfolgen

Plattformaufruf kopiert Zeichenfolgenparameter, wobei diese gegebenenfalls aus dem .NET Framework-Format (Unicode) in das nicht verwaltete Format (ANSI) konvertiert werden. Da nicht verwaltete Zeichenfolgen unveränderlich sind, kopiert Plattformaufruf diese bei Rückgabe der Funktion nicht aus dem nicht verwalteten Speicher in den verwalteten Speicher zurück.

Die folgende Tabelle listet Mashalloptionen für Zeichenfolgen zusammen mit einer Beschreibung ihrer Verwendung und einem Link zum entsprechenden .NET Framework-Beispiel auf.

Zeichenfolge

Beschreibung

Beispiel

Durch einen Wert.

Übergibt Zeichenfolgen als In-Parameter.

MsgBox

Als Ergebnis.

Gibt Zeichenfolgen aus nicht verwaltetem Code zurück.

Zeichenfolgen

Durch einen Verweis.

Übergibt Zeichenfolgen als In/Out-Parameter unter Verwendung von StringBuilder.

Puffer

In einer Struktur durch einen Wert.

Übergibt Zeichenfolgen als Struktur, die ein In-Parameter ist.

Strukturen

In einer Struktur durch einen Verweis (char*).

Übergibt Zeichenfolgen als Struktur, die ein In/Out-Parameter ist. Die nicht verwaltete Funktion erwartet einen Verweis auf einen Zeichenpuffer, und die Puffergröße ist ein Member der Struktur.

Zeichenfolgen

In einer Struktur durch einen Verweis (char[]).

Übergibt Zeichenfolgen als Struktur, die ein In/Out-Parameter ist. Die nicht verwaltete Funktion erwartet einen eingebetteten Zeichenpuffer.

OSInfo

In einer Struktur durch einen Wert (char*).

Übergibt Zeichenfolgen in einer Klasse. (Eine Klasse ist ein In/Out-Parameter.) Die nicht verwaltete Funktion erwartet einen Zeiger auf einen Zeichenpuffer.

OpenFileDlg

In einer Struktur durch einen Wert (char[]).

Übergibt Zeichenfolgen in einer Klasse. (Eine Klasse ist ein In/Out-Parameter.) Die nicht verwaltete Funktion erwartet einen eingebetteten Zeichenpuffer.

OSInfo

Als Array von Zeichenfolgen durch einen Wert.

Erstellt ein Array von Zeichenfolgen, das durch einen Wert übergeben wird.

Arrays

Als Array von Strukturen, die Zeichenfolgen durch einen Wert enthalten.

Erstellt ein Array von Strukturen, die Zeichenfolgen enthalten. Das Array wird durch einen Wert übergeben.

Arrays

Siehe auch

Konzepte

Datentypen für den Plattformaufruf

Marshallen von Klassen, Strukturen und Unions

Marshallen von Typenarrays

Verschiedene Marshallingbeispiele

Weitere Ressourcen

Marshallen von Daten mit Plattformaufruf