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


Метод IHWEventHandler2::HandleEventWithHWND (shobjidl.h)

Обрабатывает события автозапуска устройств, содержащие типы контента, для обработки которые приложение не зарегистрировано. Этот метод предоставляет дескриптор для окна владельца, чтобы можно было отобразить пользовательский интерфейс, если процесс требует повышенных привилегий.

Синтаксис

HRESULT HandleEventWithHWND(
  [in] LPCWSTR pszDeviceID,
  [in] LPCWSTR pszAltDeviceID,
  [in] LPCWSTR pszEventType,
  [in] HWND    hwndOwner
);

Параметры

[in] pszDeviceID

Тип: LPCWSTR

Указатель на строковый буфер, содержащий идентификатор устройства.

[in] pszAltDeviceID

Тип: LPCWSTR

Указатель на буфер строк, содержащий альтернативный идентификатор устройства. Альтернативный идентификатор устройства более удобочитаем, чем основной идентификатор устройства.

[in] pszEventType

Тип: LPCWSTR

Указатель на буфер строки, содержащий тип события. К типам событий относятся DeviceArrival, DeviceRemoval, MediaArrival и MediaRemoval.

[in] hwndOwner

Тип: HWND

Дескриптор отображаемого диалогового окна автозапуска.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Когда обработчик вызывается и требует немедленного повышения привилегий в новом процессе, для отображения пользовательского интерфейса согласия требуется активный дескриптор родительского окна. IHWEventHandler::HandleEvent не может дать дескриптор, поэтому отображается только мигающая панель задач. IHWEventHandler2::HandleEventWithHWND предоставляет HWND и позволяет отображать пользовательский интерфейс.

Обратите внимание, что если обработчик был запущен по умолчанию, а не прямым действием пользователя, HWND не активен и диалоговое окно не отображается на переднем плане.

Типы событий не являются константами языка C/C++; они представляют собой текстовые строки литерала.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shobjidl.h