IMarshal::ReleaseMarshalData
9/8/2008
Este método destrói um pacote de dados empacotado.
Syntax
HRESULT ReleaseMarshalData(
IStream* pStm
);
Parameters
- pStm
[no] Ponteiro para uma transmitir que contém o pacote de dados para ser destruídos.
Return Value
O método suporta o padrão valor de retorno E_FAIL, bem como o seguinte:
- S_OK
O pacote de dados lançado.
- IStreamErros
Essa função também pode retornar qualquer um da transmitir-erro de acesso valores para o IStream interface.
Remarks
Se não pacote de dados empacotado de um objeto get unmarshaled no espaço de processo cliente e o pacote não é necessário.
Chamadas do cliente ReleaseMarshalData Sobre do o proxy IMarshal implementação para instruir o objeto para destruir o pacote de dados. O chamar ocorre dentro de CoReleaseMarshalData função.
O pacote de dados serve como uma referência adicional sobre o objeto e liberando os dados é como liberar um ponteiro interface por chamado Lançamento.
Se o pacote de dados empacotado alguma forma não chegar no processo de cliente, ou ReleaseMarshalData não é recriado no proxy, COM pode chamar este método no próprio objeto.
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Notas para chamadores
Você tem raramente ocasião para chamar este método mesmo.
É uma exceção possível se você implementar IMarshal Em um classe factory para um objeto classe que você também estiver implementando IMarshal em.
Neste maiúsculas e minúsculas, se você estiver empacotamento de objeto para uma tabela, onde ele pode ser recuperado por múltiplo clientes, você pode, como parte do seu desempacotamento de rotina, chamar ReleaseMarshalData a versão de pacote de dados de cada proxy.
Notas para Implementers
Se sua implementação armazena informações do estado sobre dados empacotado pacotes, você poderá usar esse método para versão o informações do estado associado com o pacote de dados representado por pStm. A implementação deve também posição o ponteiro de busca na transmitir após o último byte de dados.
Requirements
Header | objidl.h, objidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |