Método ICallUnmarshal::ReleaseMarshalData (callobj.h)
Libera recursos que podem ser mantidos por ponteiros de interface que residem em um pacote de dados marshaled. Esse método localiza todos os ponteiros de interface no pacote e chama a função CoReleaseMarshalData em cada ponteiro de interface.
Sintaxe
HRESULT ReleaseMarshalData(
[in] ULONG iMethod,
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[in] ULONG ibFirstRelease,
[in] RPCOLEDATAREP dataRep,
[in] CALLFRAME_MARSHALCONTEXT *pcontext
);
Parâmetros
[in] iMethod
O número do método.
[in] pBuffer
Um ponteiro para o buffer que contém os parâmetros marshaled out.
[in] cbBuffer
O tamanho do buffer, em bytes.
[in] ibFirstRelease
O primeiro byte no buffer a ser liberado. Um valor zero implica que os ponteiros de interface em todo o buffer devem ser liberados. A ideia é que os ponteiros de interface marshaled antes do byte indicado já tenham sido liberados por algum outro mecanismo.
[in] dataRep
A representação de dados com a qual os dados foram empacotados.
[in] pcontext
Um ponteiro para uma estrutura CALLFRAME_MARSHALCONTEXT que contém informações sobre o contexto no qual a unmarshaling deve ser executada.
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
Para limpo recursos mantidos no buffer marshaled, o método ReleaseMarshalData deve ser chamado. No entanto, quando a enumeração MSHLFLAGS é definida como normal, isso é feito automaticamente ao desmarcar.
ReleaseMarshalData pode ser usado em parâmetros marshaled in e out.
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 |