Função CoReleaseMarshalData (combaseapi.h)
Destrói um pacote de dados marshaled anteriormente.
Sintaxe
HRESULT CoReleaseMarshalData(
[in] LPSTREAM pStm
);
Parâmetros
[in] pStm
Um ponteiro para o fluxo que contém o pacote de dados a ser destruído. Consulte IStream.
Retornar valor
Essa função pode retornar os valores de retorno padrão E_FAIL, E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, bem como os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O pacote de dados foi destruído com êxito. |
|
Um erro relacionado ao parâmetro pStm . |
|
A função CoInitialize ou OleInitialize não foi chamada no thread atual antes de essa função ser chamada. |
Comentários
Observação de segurança: chamar esse método com dados não confiáveis é um risco à segurança. Chame esse método apenas quando você tiver dados confiáveis.
- A função lê um CLSID do fluxo.
- Se a implementação de marshaling padrão do COM estiver sendo usada, a função obterá um ponteiro IMarshal para uma instância do unmarshaler padrão. Se o marshaling personalizado estiver sendo usado, a função criará um proxy chamando a função CoCreateInstance , passando o CLSID que ele leu do fluxo e solicitará um ponteiro de interface IMarshal para o proxy recém-criado.
- Usando o ponteiro da interface IMarshal adquirido, a função chama IMarshal::ReleaseMarshalData.
- Foi feita uma tentativa de desmarcar o pacote de dados, mas falhou.
- Um pacote de dados marshaled foi removido de uma tabela global.
Observe que você não precisa chamar CoReleaseMarshalData após uma chamada bem-sucedida da função CoUnmarshalInterface ; essa função libera os dados marshal como parte do processamento que ele faz.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | combaseapi.h (inclua Objbase.h) |
Biblioteca | Ole32.lib |
DLL | Ole32.dll |