Поделиться через


Сообщение фильтрации ввода

Если 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.

См. также