Função CoGetInterfaceAndReleaseStream (combaseapi.h)

Desmarca um buffer que contém um ponteiro de interface e libera o fluxo quando um ponteiro de interface é empacotado de outro thread para o thread de chamada.

Sintaxe

HRESULT CoGetInterfaceAndReleaseStream(
  [in]  LPSTREAM pStm,
  [in]  REFIID   iid,
  [out] LPVOID   *ppv
);

Parâmetros

[in] pStm

Um ponteiro para a interface IStream no fluxo a ser nãomarsalizado.

[in] iid

Uma referência ao identificador da interface solicitada do objeto nãomarshaled.

[out] ppv

O endereço da variável de ponteiro que recebe o ponteiro de interface solicitado em riid. Após o retorno bem-sucedido, *ppv contém o ponteiro de interface solicitado para a interface nãomarshaled.

Valor retornado

Essa função pode retornar os valores retornados padrão S_OK e E_INVALIDARG, bem como qualquer um dos valores retornados por CoUnmarshalInterface.

Comentários

Importante  

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 CoGetInterfaceAndReleaseStream executa as seguintes tarefas:
  • Chama CoUnmarshalInterface para desmarcar um ponteiro de interface passado anteriormente em uma chamada para CoMarshalInterThreadInterfaceInStream.
  • Libera o ponteiro de fluxo. Mesmo que a unmarshaling falhe, o fluxo ainda será liberado porque não há uma maneira eficaz de se recuperar de uma falha desse tipo.

Requisitos

   
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

Confira também

CoMarshalInterThreadInterfaceInStream

Counmarshalinterface