Método ICallFrame::Marshal (callobj.h)
Realiza marshaling do quadro de chamadas transformando seus dados acessíveis em um buffer simples sem perturbar o quadro.
Sintaxe
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
Um ponteiro para a estrutura CALLFRAME_MARSHALCONTEXT que contém informações de contexto sobre como o marshalling é realizado.
[in] mshlflags
Sinalizador que indica se os dados a serem empacotados devem ser transmitidos de volta para o processo do cliente - o caso normal - ou gravados em uma tabela global, em que eles podem ser recuperados por vários clientes. Os valores possíveis são da enumeração MSHLFLAGS .
[in] pBuffer
Um ponteiro para o buffer no qual os dados em marshaling devem ser colocados.
[in] cbBuffer
O tamanho do buffer, em bytes.
[out] pcbBufferUsed
Recebe o tamanho do buffer que foi realmente usado. Esse parâmetro é opcional.
[out] pdataRep
Recebe a representação de dados NDR com a qual os dados foram empacotados. Esse parâmetro é opcional. Para obter mais informações, consulte IRpcChannelBuffer::GetBuffer.
[out] prpcFlags
Recebe um sinalizador RPC associado à chamada. Esse parâmetro é opcional. Para obter mais informações, consulte IRpcChannelBuffer::GetBuffer.
Valor retornado
Esse método pode retornar os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
|
Ocorreu um erro inesperado. |
Comentários
Ao realizar marshaling das versões [In] dos parâmetros [in, out] estão presentes e as versões [out] são indefinidas. Ao realizar marshaling de parâmetros [out], os valores são válidos.
Se esse método retornar um erro, o chamador não poderá limpo-lo. Recursos como memória alocada transitóriamente durante a tentativa de marshaling foram liberados.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | callobj.h |