Função CoRegisterMessageFilter (objbase.h)

Registra com OLE a instância de uma interface IMessageFilter , que deve ser usada para lidar com problemas de simultaneidade no thread atual. Somente um filtro de mensagem pode ser registrado para cada thread. Os threads em apartamentos multithread não podem ter filtros de mensagem.

Sintaxe

HRESULT CoRegisterMessageFilter(
  [in, optional]  LPMESSAGEFILTER lpMessageFilter,
  [out, optional] LPMESSAGEFILTER *lplpMessageFilter
);

Parâmetros

[in, optional] lpMessageFilter

Um ponteiro para a interface IMessageFilter no filtro de mensagem. Esse filtro de mensagem deve ser registrado no thread atual, substituindo o filtro de mensagem anterior (se houver). Esse parâmetro pode ser NULL, indicando que nenhum filtro de mensagem deve ser registrado no thread atual.

Observe que essa função chama AddRef no ponteiro da interface para o filtro de mensagem.

[out, optional] lplpMessageFilter

Endereço da variável de ponteiro IMessageFilter* que recebe o ponteiro da interface para o filtro de mensagem registrado anteriormente. Se não houver nenhum filtro de mensagem registrado anteriormente para o thread atual, o valor de *lplpMessageFilter será NULL.

Retornar valor

Se a instância tiver sido registrada ou revogada com êxito, o valor retornado será S_OK; caso contrário, é S_FALSE.

Comentários

Para revogar o filtro de mensagem registrado, passe o filtro de mensagem anterior (possivelmente NULL) como o parâmetro lpMessageFilter para CoRegisterMessageFilter.

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 objbase.h
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

Imessagefilter