Delen via


Marshalling Strings

Het platform roept tekenreeksparameters aan en converteert deze vanuit de .NET Framework-indeling (Unicode) naar de niet-beheerde indeling (ANSI), indien nodig. Omdat beheerde tekenreeksen onveranderbaar zijn, worden deze niet terug gekopieerd van onbeheerd geheugen naar beheerd geheugen wanneer de functie terugkeert.

De volgende tabel bevat marshallopties voor tekenreeksen, beschrijft het gebruik en biedt een koppeling naar het bijbehorende .NET Framework-voorbeeld.

String Beschrijving Voorbeeld
Op waarde. Geeft tekenreeksen door als In-parameters. Msgbox
Als resultaat. Retourneert tekenreeksen uit niet-beheerde code. Tekenreeksen
Ter referentie. Geeft tekenreeksen door als In/Out-parameters met behulp van StringBuilder. Buffers
In een structuur op waarde. Geeft tekenreeksen door in een structuur die een In-parameter is. Structs
In een structuur op basis van verwijzing (char*). Geeft tekenreeksen door in een structuur die een in/uit-parameter is. De onbeheerde functie verwacht een aanwijzer naar een tekenbuffer en de buffergrootte is lid van de structuur. Tekenreeksen
In een structuur op basis van verwijzing (char[]). Geeft tekenreeksen door in een structuur die een in/uit-parameter is. De onbeheerde functie verwacht een ingesloten tekenbuffer. OSInfo
In een klasse op waarde (char*). Geeft tekenreeksen door in een klasse (een klasse is een In/Out-parameter). De onbeheerde functie verwacht een aanwijzer naar een tekenbuffer. OpenFileDlg
In een klasse op waarde (char[]). Geeft tekenreeksen door in een klasse (een klasse is een In/Out-parameter). De onbeheerde functie verwacht een ingesloten tekenbuffer. OSInfo
Als matrix van tekenreeksen op waarde. Hiermee maakt u een matrix met tekenreeksen die door de waarde worden doorgegeven. Arrays
Als matrix met structuren die tekenreeksen per waarde bevatten. Hiermee maakt u een matrix met structuren die tekenreeksen bevatten en de matrix wordt doorgegeven door een waarde. Arrays

Zie ook