CoRegisterMessageFilter 関数 (objbase.h)

現在のスレッドでのコンカレンシーの問題を処理するために使用される IMessageFilter インターフェイスのインスタンスを OLE に登録します。 スレッドごとに登録できるメッセージ フィルターは 1 つだけです。 マルチスレッド アパートメント内のスレッドにメッセージ フィルターを設定することはできません。

構文

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

パラメーター

[in, optional] lpMessageFilter

メッセージ フィルター上の IMessageFilter インターフェイスへのポインター。 このメッセージ フィルターは現在のスレッドに登録し、前のメッセージ フィルター (存在する場合) を置き換える必要があります。 このパラメーターには NULL を指定できます。現在のスレッドにメッセージ フィルターを登録する必要がないことを示します。

この関数は、メッセージ フィルターへのインターフェイス ポインターで AddRef を呼び出します。

[out, optional] lplpMessageFilter

以前に登録されたメッセージ フィルターへのインターフェイス ポインターを受け取る IMessageFilter* ポインター変数のアドレス。 現在のスレッドに対して以前に登録されたメッセージ フィルターがない場合、*lplpMessageFilter の値は NULL です

戻り値

インスタンスが正常に登録または取り消された場合、戻り値はS_OK。それ以外の場合は、S_FALSE。

注釈

登録済みのメッセージ フィルターを取り消すには、lpMessageFilter パラメーターとして前のメッセージ フィルター (NULL の可能性があります) を CoRegisterMessageFilter に渡します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー objbase.h
Library Ole32.lib
[DLL] Ole32.dll

こちらもご覧ください

IMessageFilter