Método ICallFrame::Marshal (callobj.h)
Calcula las referencias del marco de llamada convirtiendo sus datos accesibles en un búfer plano sin alterar el marco.
Sintaxis
HRESULT Marshal(
[in] CALLFRAME_MARSHALCONTEXT *pmshlContext,
[in] MSHLFLAGS mshlflags,
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[out] ULONG *pcbBufferUsed,
[out] RPCOLEDATAREP *pdataRep,
[out] ULONG *prpcFlags
);
Parámetros
[in] pmshlContext
Puntero a la estructura CALLFRAME_MARSHALCONTEXT que contiene información de contexto sobre cómo se lleva a cabo la serialización.
[in] mshlflags
Marca que indica si los datos que se van a serializar se van a transmitir de vuelta al proceso de cliente (el caso normal) o se escriben en una tabla global, donde varios clientes pueden recuperarlos. Los valores posibles proceden de la enumeración MSHLFLAGS .
[in] pBuffer
Puntero al búfer en el que se van a colocar los datos serializado.
[in] cbBuffer
Tamaño del búfer, en bytes.
[out] pcbBufferUsed
Recibe el tamaño del búfer que se usó realmente. Este parámetro es opcional.
[out] pdataRep
Recibe la representación de datos NDR con la que se serializaron los datos. Este parámetro es opcional. Para obtener más información, vea IRpcChannelBuffer::GetBuffer.
[out] prpcFlags
Recibe una marca RPC asociada a la llamada. Este parámetro es opcional. Para obtener más información, vea IRpcChannelBuffer::GetBuffer.
Valor devuelto
Este método puede devolver los valores siguientes.
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente. |
|
Se produjo un error inesperado. |
Comentarios
Al serializar las versiones [In] de los parámetros [in, out] están presentes y las versiones [out] no están definidas. Al serializar los parámetros [out] los valores son válidos.
Si este método devuelve un error, el autor de la llamada no podrá limpiarlo. Se han liberado recursos como la memoria asignada de forma transitoria durante el intento de serialización.
Requisitos
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 |