Método ICallFrame::ReleaseMarshalData (callobj.h)
Libera recursos que são mantidos por ponteiros de interface que residem em um pacote de dados empacotados. Esse método localiza todos os ponteiros de interface no pacote e chama a função CoReleaseMarshalData em cada um deles.
Sintaxe
HRESULT ReleaseMarshalData(
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[in] ULONG ibFirstRelease,
[in] RPCOLEDATAREP dataRep,
[in] CALLFRAME_MARSHALCONTEXT *pcontext
);
Parâmetros
[in] pBuffer
Um ponteiro para o buffer que contém os valores de marshaled [out].
[in] cbBuffer
O tamanho do buffer, em bytes.
[in] ibFirstRelease
O primeiro byte no buffer, que deve ser liberado. Um valor zero implica que os ponteiros de interface em todo o buffer devem ser liberados. Presume-se que os ponteiros da interface marshaled foram liberados por algum outro mecanismo.
[in] dataRep
A representação de dados com a qual os dados foram empacotados.
[in] pcontext
Um ponteiro para a estrutura CALLFRAME_MARSHALCONTEXT que contém informações de contexto sobre como o não marshaling é realizado.
Retornar valor
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
O método ReleaseMarshalData deve ser chamado exatamente uma vez para limpo os recursos mantidos em um buffer marshaled. No entanto, quando a enumeração MSHLFLAGS é definida como MSHLFLAGS_NORMAL, isso é feito automaticamente durante o des marshaling e, portanto, não precisa ser executado explicitamente.
Esse método pode funcionar corretamente nos parâmetros [in] e [out] empacotados.
Requisitos
Requisito | Valor |
---|---|
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 |