E_NOTIMPL が返されない限り、メッセージを受け取るたびに PresentationHost.exe によって呼び出されます。
HRESULT FilterInputMessage( [in] MSG* pMsg ) ;
パラメーター
pMsg
[in] 未加工の入力を取得しているウィンドウに送信される WM_INPUT メッセージ。
プロパティ値/戻り値
HRESULT:
S_OK - フィルターはメッセージを処理していません。さらに処理が行われる可能性があります。
S_FALSE - フィルターはこのメッセージを処理しました。これ以上処理は行われません。
E_NOTIMPL - この値が返された場合は、FilterInputMessage が再び呼び出されることはありません。 この値は、PresentationHost.exe に対して進行状況とエラーに関するカスタム ユーザー インターフェイスの提供のみを行い、PresentationHost.exe から未加工の入力メッセージが転送されないホスト アプリケーションから返される場合があります。
解説
PresentationHost.exe は、キーボード、マウス、リモコンなど、さまざまな未加工の入力デバイスの対象です。 場合により、ホスト アプリケーションの動作は、通常は PresentationHost.exe によって処理される入力に依存することがあります。 たとえば、ホスト アプリケーションでは、特定の入力メッセージの受信に応じて、特定のユーザー インターフェイス要素を表示するかどうかを決定する場合があります。
この動作を実現するために必要な入力メッセージをホスト アプリケーションが受信できるように、PresentationHost.exe は、FilterInputMessage を呼び出して、適切な未加工の入力メッセージをホストされるアプリケーションに転送します。
ホストされるアプリケーションは、GetRawInputDevices から返される未加工の入力デバイス (ヒューマン インターフェイス デバイス) のセットに登録することで、未加工の入力メッセージを受け取ります。