Udostępnij za pośrednictwem


Ciągi marshalling

Platforma wywołuje parametry ciągu, konwertując je z formatu .NET Framework (Unicode) na format niezarządzany (ANSI), w razie potrzeby. Ponieważ ciągi zarządzane są niezmienne, wywołanie platformy nie kopiuje ich z niezarządzanej pamięci do pamięci zarządzanej po powrocie funkcji.

W poniższej tabeli wymieniono opcje marshalingu dla ciągów, opisano ich użycie i podano link do odpowiedniego przykładu programu .NET Framework.

String opis Przykład
Według wartości. Przekazuje ciągi jako W parametrach. Msgbox
W rezultacie. Zwraca ciągi z niezarządzanego kodu. Ciągi
Przy użyciu odwołania. Przekazuje ciągi jako parametry we/wy przy użyciu polecenia StringBuilder. Buforów
W strukturze według wartości. Przekazuje ciągi w strukturze, która jest parametrem In. Struktury
W strukturze według odwołania (char*). Przekazuje ciągi w strukturze, która jest parametrem w/wy. Niezarządzana funkcja oczekuje wskaźnika do bufora znaków, a rozmiar buforu jest elementem członkowskim struktury. Ciągi
W strukturze według odwołania (char[]). Przekazuje ciągi w strukturze, która jest parametrem w/wy. Niezarządzana funkcja oczekuje osadzonego buforu znaków. OSInfo
W klasie według wartości (char*). Przekazuje ciągi w klasie (klasa jest parametrem in/out). Niezarządzana funkcja oczekuje wskaźnika do buforu znaków. OpenFileDlg
W klasie według wartości (char[]). Przekazuje ciągi w klasie (klasa jest parametrem in/out). Niezarządzana funkcja oczekuje osadzonego buforu znaków. OSInfo
Jako tablica ciągów według wartości. Tworzy tablicę ciągów przekazywanych przez wartość. Tablice
Jako tablica struktur, które zawierają ciągi według wartości. Tworzy tablicę struktur, które zawierają ciągi, a tablica jest przekazywana przez wartość. Tablice

Zobacz też