Die type_UserUnmarshal-Funktion
Der <Typ>_UserUnmarshal Funktion ist eine Hilfsfunktion für die Attribute [ wire_marshal] und [ user_marshal] . Die Stubs rufen diese Funktion auf, um dieMarshaldaten auf client- oder serverseitiger Seite aufzuheben. Die Funktion wird wie folgt definiert:
unsigned char __RPC_FAR * __RPC_USER <type>_UserUnmarshal(
unsigned long __RPC_FAR * pFlags,
unsigned char __RPC_FAR * pBuffer,
<type> __RPC_FAR * pMyObj);
Der <Typ> im Funktionsnamen bedeutet, dass der im [wire_marshal] oder [user_marshal] Typdefinition angegebene Benutzertyp angegeben ist. Dieser Typ ist möglicherweise nicht übersetzbar oder sogar – wenn er mit dem [user_marshal] Attribut verwendet wird – unbekannt für den MIDL-Compiler. Der Drahttypname (der Name des transmissiblen Typs) wird im Funktionsprototyp nicht verwendet. Beachten Sie jedoch, dass der Drahttyp das Drahtlayout für die Daten definiert, wie durch OSF DCE angegeben.
Der pFlags--Parameter ist ein Zeiger auf ein nicht signiertes langes Flagfeld. Das obere Wort des Flags enthält NDR-Datendarstellungskennzeichnungen gemäß der Definition von OSF DCE für Gleitkomma-, Bytereihenfolge- und Zeichendarstellungen. Das untere Wort enthält ein Marshaling-Kontextflagge gemäß der Definition durch den COM-Kanal. Das genaue Layout der Flags innerhalb des Felds wird in Die type_UserSize Functionbeschrieben.
Der pBuffer Parameter ist der aktuelle Pufferzeiger. Dieser Zeiger kann am Eintrag ausgerichtet oder nicht ausgerichtet werden. Der <Typ>_UserUnmarshal Funktion sollte den Pufferzeiger entsprechend ausrichten, die Daten entmarsen und die neue Pufferposition zurückgeben. Dies ist die Adresse des ersten Bytes nach dem nichtmarshalierten Objekt.
Der pMyObj Parameter ist ein Zeiger auf ein benutzerdefiniertes Typobjekt.
In einer heterogenen Umgebung führt das NDR-Modul alle erforderlichen Datenkonvertierungen durch, bevor der <Typ>_UserUnmarshal Funktion aufgerufen wird. Beachten Sie, dass das NDR-Modul diese Datenkonvertierung gemäß der für diesen Benutzerdatentyp bereitgestellten Drahttypdefinition durchführt. Das Kennzeichen gibt die Datendarstellung des Absenders an.
Verwandte Themen