Función CoRegisterMessageFilter (objbase.h)

Registra con OLE la instancia de una interfaz IMessageFilter , que se va a usar para controlar los problemas de simultaneidad en el subproceso actual. Solo se puede registrar un filtro de mensajes para cada subproceso. Los subprocesos de apartamentos multiproceso no pueden tener filtros de mensajes.

Sintaxis

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

Parámetros

[in, optional] lpMessageFilter

Puntero a la interfaz IMessageFilter en el filtro de mensajes. Este filtro de mensaje debe registrarse en el subproceso actual, reemplazando el filtro de mensaje anterior (si existe). Este parámetro puede ser NULL, lo que indica que no se debe registrar ningún filtro de mensajes en el subproceso actual.

Tenga en cuenta que esta función llama a AddRef en el puntero de interfaz al filtro de mensajes.

[out, optional] lplpMessageFilter

Dirección de la variable de puntero IMessageFilter* que recibe el puntero de interfaz al filtro de mensajes registrado anteriormente. Si no había ningún filtro de mensajes registrado previamente para el subproceso actual, el valor de *lplpMessageFilter es NULL.

Valor devuelto

Si la instancia se registró o revocó correctamente, el valor devuelto es S_OK; de lo contrario, es S_FALSE.

Comentarios

Para revocar el filtro de mensajes registrados, pase el filtro de mensajes anterior (posiblemente NULL) como el parámetro lpMessageFilter a CoRegisterMessageFilter.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado objbase.h
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

IMessageFilter