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ż
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.