次の方法で共有


CHANGEFILTERSTRUCT 構造体 (winuser.h)

ChangeWindowMessageFilterEx 関数を呼び出して取得した拡張結果情報を格納します。

構文

typedef struct tagCHANGEFILTERSTRUCT {
  DWORD cbSize;
  DWORD ExtStatus;
} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;

メンバー

cbSize

型: DWORD

この構造体のサイズ (バイト単位)。 に設定する sizeof(CHANGEFILTERSTRUCT)必要があります。それ以外の場合、関数は ERROR_INVALID_PARAMETERで失敗します。

ExtStatus

型: DWORD

関数が成功した場合、このフィールドには次のいずれかの値が含まれます。

意味
MSGFLTINFO_NONE
0
「解説」を参照してください。 MSGFLT_ALLOWMSGFLT_DISALLOWに適用されます。
MSGFLTINFO_ALLOWED_HIGHER
3
メッセージは、ウィンドウより大きいスコープで許可されます。 MSGFLT_DISALLOWに適用されます。
MSGFLTINFO_ALREADYALLOWED_FORWND
1
このウィンドウのメッセージ フィルターによってメッセージが既に許可されているため、この関数はウィンドウのメッセージ フィルターに変更なしで成功しました。 MSGFLT_ALLOWに適用されます。
MSGFLTINFO_ALREADYDISALLOWED_FORWND
2
メッセージは、このウィンドウのメッセージ フィルターによって既にブロックされているため、ウィンドウのメッセージ フィルターを変更する機能は成功しました。 MSGFLT_DISALLOWに適用されます。

注釈

フィルター設定に関係なく、 WM_USERよりも値 が小さい特定のメッセージは、フィルターを通過する必要があります。 この関数を使用してこのようなメッセージを許可またはブロックしようとしても、影響はありません。

アプリケーションでは 、ChangeWindowMessageFilter 関数を使用して、プロセス全体の方法でメッセージを許可またはブロックできます。 プロセス メッセージ フィルターまたはウィンドウ メッセージ フィルターによってメッセージが許可されている場合は、そのメッセージがウィンドウに配信されます。

次の表に、 ExtStatus で返される可能性のある値を示します。

より高いスコープで既に許可されているメッセージ ウィンドウのメッセージ フィルターで既に許可されているメッセージ 要求された操作 成功時に ExtStatus で返されるインジケーター
いいえ いいえ MSGFLT_ALLOW MSGFLTINFO_NONE
いいえ いいえ MSGFLT_DISALLOW MSGFLTINFO_ALREADYDISALLOWED_FORWND
いいえ いいえ MSGFLT_RESET MSGFLTINFO_NONE
いいえ はい MSGFLT_ALLOW MSGFLTINFO_ALREADYALLOWED_FORWND
いいえ はい MSGFLT_DISALLOW MSGFLTINFO_NONE
いいえ はい MSGFLT_RESET MSGFLTINFO_NONE
はい いいえ MSGFLT_ALLOW MSGFLTINFO_NONE
はい いいえ MSGFLT_DISALLOW MSGFLTINFO_ALLOWED_HIGHER
はい いいえ MSGFLT_RESET MSGFLTINFO_NONE
はい はい MSGFLT_ALLOW MSGFLTINFO_ALREADYALLOWED_FORWND
はい はい MSGFLT_DISALLOW MSGFLTINFO_ALLOWED_HIGHER
はい はい MSGFLT_RESET MSGFLTINFO_NONE

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
ヘッダー winuser.h (Windows.h を含む)

こちらもご覧ください

ChangeWindowMessageFilterEx