Dela via


Rangersträngar

Plattform anropar kopierar strängparametrar och konverterar dem från .NET Framework-formatet (Unicode) till det ohanterade formatet (ANSI) om det behövs. Eftersom hanterade strängar är oföränderliga kopierar plattformsanrop inte tillbaka dem från ohanterat minne till hanterat minne när funktionen returnerar.

I följande tabell visas marshallingsalternativ för strängar, beskriver deras användning och en länk till motsvarande .NET Framework-exempel.

String beskrivning Exempel
Efter värde. Skickar strängar som In-parametrar. Msgbox
Som resultat. Returnerar strängar från ohanterad kod. Strängar
Som referens. Skickar strängar som in-/ut-parametrar med hjälp av StringBuilder. Buffertar
I en struktur efter värde. Skickar strängar i en struktur som är en In-parameter. Structs
I en struktur efter referens (tecken*). Skickar strängar i en struktur som är en in-/ut-parameter. Den ohanterade funktionen förväntar sig en pekare till en teckenbuffert och buffertstorleken är medlem i strukturen. Strängar
I en struktur efter referens (tecken[]). Skickar strängar i en struktur som är en in-/ut-parameter. Den ohanterade funktionen förväntar sig en inbäddad teckenbuffert. OSInfo
I en klass efter värde (tecken*). Skickar strängar i en klass (en klass är en in-/ut-parameter). Den ohanterade funktionen förväntar sig en pekare till en teckenbuffert. OpenFileDlg
I en klass efter värde (char[]). Skickar strängar i en klass (en klass är en in-/ut-parameter). Den ohanterade funktionen förväntar sig en inbäddad teckenbuffert. OSInfo
Som en matris med strängar efter värde. Skapar en matris med strängar som skickas av värde. Matriser
Som en matris med strukturer som innehåller strängar efter värde. Skapar en matris med strukturer som innehåller strängar och matrisen skickas efter värde. Matriser

Se även