Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja <typem>_UserUnmarshal jest funkcją pomocnika dla atrybutów [ wire_marshal] i [ user_marshal]. Wycinki wywołają tę funkcję w celu unmarshal danych po stronie klienta lub serwera. Funkcja jest zdefiniowana jako:
unsigned char __RPC_FAR * __RPC_USER <type>_UserUnmarshal(
unsigned long __RPC_FAR * pFlags,
unsigned char __RPC_FAR * pBuffer,
<type> __RPC_FAR * pMyObj);
Typ <w nazwie funkcji oznacza> typ użytkownika określony w [wire_marshal] lub [user_marshal] definicji typu. Ten typ może być nieprzetłumaczalny lub nawet — w przypadku użycia z atrybutem [user_marshal] — nieznany kompilatorowi MIDL. Nazwa typu przewodu (nazwa typu transmissible) nie jest używana w prototypie funkcji. Należy jednak pamiętać, że typ przewodu definiuje układ przewodu dla danych określonych przez OSF DCE.
Parametr pFlags jest wskaźnikiem do niepodpisanego pola flagi. Górne słowo flagi zawiera flagi reprezentacji danych NDR zdefiniowane przez OSF DCE dla zmiennoprzecinkowych, kolejności bajtów i reprezentacji znaków. Dolne słowo zawiera flagę kontekstu marshalingu zdefiniowaną przez kanał COM. Dokładny układ flag w polu został opisany w funkcja type_UserSize.
Parametr pBuffer jest bieżącym wskaźnikiem buforu. Ten wskaźnik może być wyrównany do wpisu lub może nie być wyrównany. Typ <,>_UserUnmarshal funkcja powinna odpowiednio wyrównać wskaźnik buforu, unmarshal dane i zwrócić nową pozycję buforu, czyli adres pierwszego bajtu po niezamężnym obiekcie.
Parametr pMyObj jest wskaźnikiem do obiektu typu zdefiniowanego przez użytkownika.
W środowisku heterogenicznym aparat NDR wykonuje dowolną wymaganą konwersję danych przed wywołaniem funkcji>_UserUnmarshal typu<. Należy pamiętać, że aparat NDR przeprowadza tę konwersję danych zgodnie z definicją typu przewodowego podaną dla tego typu danych użytkownika. Flaga wskazuje reprezentację danych nadawcy.
Tematy pokrewne