Função CoMarshalInterThreadInterfaceInStream (combaseapi.h)
Faz marshaling de um ponteiro de interface de um thread para outro thread no mesmo processo.
Sintaxe
HRESULT CoMarshalInterThreadInterfaceInStream(
[in] REFIID riid,
[in] LPUNKNOWN pUnk,
[out] LPSTREAM *ppStm
);
Parâmetros
[in] riid
Uma referência ao identificador da interface a ser marshalada.
[in] pUnk
Um ponteiro para a interface a ser marshalada, que deve ser derivada de IUnknown. Este parâmetro pode ser NULL.
[out] ppStm
O endereço da variável de ponteiro IStream* que recebe o ponteiro de interface para o fluxo que contém a interface marshaled.
Retornar valor
Essa função pode retornar os valores de retorno padrão E_OUTOFMEMORY e S_OK.
Comentários
A função CoMarshalInterThreadInterfaceInStream permite que um objeto marshale de maneira fácil e confiável um ponteiro de interface para outro thread no mesmo processo. O fluxo retornado no parâmetro ppStm tem a garantia de se comportar corretamente quando um cliente em execução no thread de recebimento tenta desmarcar o ponteiro. Em seguida, o cliente pode chamar o CoGetInterfaceAndReleaseStream para desmarcar o ponteiro da interface e liberar o objeto de fluxo.
A função CoMarshalInterThreadInterfaceInStream executa as seguintes tarefas:
- Cria um objeto de fluxo.
- Passa o ponteiro IStream do objeto de fluxo para CoMarshalInterface.
- Retorna o ponteiro IStream para o chamador.
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 |