Marshallen von Zeichenfolgen

Der Plattformaufruf kopiert Zeichenfolgenparameter, wobei das .NET Framework-Format (Unicode) bei Bedarf in das nicht verwaltete Format (ANSI) konvertiert wird. Da verwaltete Zeichenfolgen unveränderlich sind, kopieren Plattformaufrufe sie bei Rückgabe der Funktion nicht aus dem nicht verwalteten Speicher in den verwalteten Arbeitsspeicher.

In der folgende Tabelle werden Marshallingoptionen für Zeichenfolgen aufgelistet. Ihre Verwendung wird beschrieben, und es werden Links zu den entsprechenden .NET Framework-Beispielen bereitgestellt.

Zeichenfolge Beschreibung Beispiel
Nach Wert. Übergibt Zeichenfolgen als In-Parameter. MsgBox
Als Ergebnis. Gibt Zeichenfolgen aus nicht verwaltetem Code zurück. Zeichenfolgen
Nach Verweis. Übergibt Zeichenfolgen als In/Out-Parameter mit StringBuilder. Puffer
In einer Struktur nach Wert. Zeichenfolgen werden in einer Struktur, die ein In-Parameter ist, übergeben. Strukturen
In einer Struktur nach Verweis (char*). Zeichenfolgen werden in einer Struktur, die ein In/Out-Parameter ist, übergeben. Die nicht verwaltete Funktion erwartet einen Zeiger auf einen Zeichenpuffer, und die Größe des Puffers ist ein Element der Struktur. Zeichenfolgen
In einer Struktur nach Verweis (char[]) . Zeichenfolgen werden in einer Struktur, die ein In/Out-Parameter ist, übergeben. Die nicht verwaltete Funktion erwartet einen eingebetteten Zeichenpuffer. OSInfo
In einer Klasse nach Wert (char*). Zeichenfolgen werden in einer Klasse übergeben (eine Klasse ist ein In/Out-Parameter). Die nicht verwaltete Funktion erwartet einen Zeiger auf einen Zeichenpuffer. OpenFileDlg
In einer Klasse nach Wert (char[]) . Zeichenfolgen werden in einer Klasse übergeben (eine Klasse ist ein In/Out-Parameter). Die nicht verwaltete Funktion erwartet einen eingebetteten Zeichenpuffer. OSInfo
Als Array aus Zeichenfolgen nach Wert. Erstellt ein Array aus Zeichenfolgen, das als Wert übergeben wird. Arrays
Als ein Array von Strukturen, das Zeichenfolgen nach Wert enthält. Erstellt ein Array von Strukturen, das Zeichenfolgen enthält, und das Array wird nach Wert übergeben. Arrays

Siehe auch