Función type_UserUnmarshal
La función>_UserUnmarshal de tipo<es una función auxiliar para los atributos [ wire_marshal] y [ user_marshal]. Los códigos auxiliares llaman a esta función para desmarshalar datos en el lado cliente o servidor. La función se define como:
unsigned char __RPC_FAR * __RPC_USER <type>_UserUnmarshal(
unsigned long __RPC_FAR * pFlags,
unsigned char __RPC_FAR * pBuffer,
<type> __RPC_FAR * pMyObj);
El tipo <> en el nombre de función significa el tipo userm especificado en el [wire_marshal] o [user_marshal] definición de tipo. Este tipo puede ser intransmitible o incluso, cuando se usa con el atributo [user_marshal], desconocido para el compilador MIDL. El nombre del tipo de cable (el nombre del tipo transmisible) no se usa en el prototipo de función. Sin embargo, tenga en cuenta que el tipo de conexión define el diseño de la conexión para los datos según lo especificado por OSF DCE.
El parámetro pFlags es un puntero a un campo de marca de largo sin signo sin signo. La palabra superior de la marca contiene marcas de representación de datos NDR definidas por OSF DCE para representaciones de punto flotante, orden de bytes y caracteres. La palabra inferior contiene una marca de contexto de serialización tal como se define en el canal COM. El diseño exacto de las marcas dentro del campo se describe en The type_UserSize Function.
El parámetro pBuffer es el puntero de búfer actual. Este puntero puede alinearse o no en la entrada. El <tipo>_UserUnmarshal función debe alinear el puntero del búfer adecuadamente, desmarmar los datos y devolver la nueva posición del búfer, que es la dirección del primer byte después del objeto no separado.
El parámetro pMyObj es un puntero a un objeto de tipo definido por el usuario.
En un entorno heterogéneo, el motor NDR realiza cualquier conversión de datos necesaria antes de llamar a la función>_UserUnmarshal de tipo<. Tenga en cuenta que el motor NDR lleva a cabo esta conversión de datos según la definición de tipo de conexión proporcionada para este tipo de datos de usuario. La marca indica la representación de datos del remitente.
Temas relacionados