# CoRegisterMessageFilter

Registers with OLE the instance of an EXE application’s IMessageFilter interface, which is to be used for handling concurrency issues. DLL object applications cannot register a message filter.

HRESULT CoRegisterMessageFilter(

LPMESSAGEFILTER lpMessageFilter, | //Pointer to interface
LPMESSAGEFILTER * lplpMessageFilter | //Indirect pointer to prior instance if non-NULL
); |

Parameters

lpMessageFilter
  [in] Pointer to theIMessageFilter interface on the message filter supplied by the application. Can be NULL, indicating that the current IMessageFilter registration should be revoked.
lplpMessageFilter
  [out] If a message filter has been previously registered, indirect pointer to an IMessageFilter interface to that instance. If the value of this parameter on return is NULL, this indicates that no previous IMessageFilter instance was registered. This parameter rarely returns NULL, however, returning instead a pointer to the default message filter.

Return Values

S_OK
  The IMessageFilter instance registered or revoked successfully.
S_FALSE
  Error registering or revoking IMessageFilter instance.