CoRegisterMessageFilter-Funktion (objbase.h)

Registriert bei OLE die instance einer IMessageFilter-Schnittstelle, die zum Behandeln von Parallelitätsproblemen im aktuellen Thread verwendet werden soll. Für jeden Thread kann nur ein Nachrichtenfilter registriert werden. Threads in Multithread-Apartments können keine Nachrichtenfilter aufweisen.

Syntax

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

Parameter

[in, optional] lpMessageFilter

Ein Zeiger auf die IMessageFilter-Schnittstelle im Nachrichtenfilter. Dieser Nachrichtenfilter sollte im aktuellen Thread registriert werden und den vorherigen Meldungsfilter ersetzen (falls vorhanden). Dieser Parameter kann NULL sein, was angibt, dass kein Nachrichtenfilter im aktuellen Thread registriert werden soll.

Beachten Sie, dass diese Funktion AddRef auf dem Schnittstellenzeiger auf den Nachrichtenfilter aufruft.

[out, optional] lplpMessageFilter

Adresse der IMessageFilter*-Zeigervariable, die den Schnittstellenzeiger auf den zuvor registrierten Nachrichtenfilter empfängt. Wenn es keinen zuvor registrierten Nachrichtenfilter für den aktuellen Thread gab, ist der Wert von *lplpMessageFilterNULL.

Rückgabewert

Wenn der instance erfolgreich registriert oder widerrufen wurde, wird der Rückgabewert S_OK, andernfalls wird er S_FALSE.

Hinweise

Um den registrierten Nachrichtenfilter zu widerrufen, übergeben Sie den vorherigen Nachrichtenfilter (möglicherweise NULL) als lpMessageFilter-Parameter an CoRegisterMessageFilter.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile objbase.h
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

Imessagefilter