Compartir a través de


Método ICallFrame::Unmarshal (callobj.h)

Desmarshala un paquete de datos que contiene los parámetros [out] serializado previamente de una llamada a este registro de activación ya existente.

Sintaxis

HRESULT Unmarshal(
  [in]  PVOID                    pBuffer,
  [in]  ULONG                    cbBuffer,
  [in]  RPCOLEDATAREP            dataRep,
  [in]  CALLFRAME_MARSHALCONTEXT *pcontext,
  [out] ULONG                    *pcbUnmarshalled
);

Parámetros

[in] pBuffer

Puntero al búfer que contiene los valores de [out] serializado.

[in] cbBuffer

Tamaño del búfer, en bytes.

[in] dataRep

Representación de datos NDR con la que se serializaron los datos. Para obtener más información, vea IRpcChannelBuffer::GetBuffer.

[in] pcontext

Puntero a la estructura CALLFRAME_MARSHALCONTEXT que contiene información de contexto sobre cómo se lleva a cabo el desaprovisionamiento.

[out] pcbUnmarshalled

Recibe el número de bytes que se han desmarizado correctamente. Este parámetro se devuelve incluso en situaciones de error. Este parámetro es opcional.

Valor devuelto

Este método puede devolver los valores siguientes.

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_UNEXPECTED
Se produjo un error inesperado.

Comentarios

Cuando se anula la firma, se liberan las versiones [in] de los parámetros [in, out] y se liberan los punteros de interfaz y se reemplazan por sus versiones [out]. Todos los parámetros [in, out] y [out] siempre se establecerán en valores [in], [in, out] y [out] valores [out] correctos de los datos devueltos o un valor inicializado explícitamente en NULL. Al devolver el error, el autor de la llamada normalmente querrá llamar a ICallFrame::Free para limpiar los valores que no son NULL.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado callobj.h

Consulte también

ICallFrame