IHWEventHandler2::HandleEventWithHWND 方法 (shobjidl.h)
处理包含应用程序未注册要处理的内容类型的自动播放设备事件。 此方法提供所有者窗口的句柄,以便在进程需要提升的权限时可以显示 UI。
语法
HRESULT HandleEventWithHWND(
[in] LPCWSTR pszDeviceID,
[in] LPCWSTR pszAltDeviceID,
[in] LPCWSTR pszEventType,
[in] HWND hwndOwner
);
参数
[in] pszDeviceID
类型: LPCWSTR
指向包含设备 ID 的字符串缓冲区的指针。
[in] pszAltDeviceID
类型: LPCWSTR
指向包含备用设备 ID 的字符串缓冲区的指针。 备用设备 ID 比主设备 ID 更易于读取。
[in] pszEventType
类型: LPCWSTR
指向包含事件类型的字符串缓冲区的指针。 事件类型包括 DeviceArrival、DeviceRemoval、MediaArrival 和 MediaRemoval。
[in] hwndOwner
类型:HWND
显示的“自动播放”对话框的句柄。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
当调用处理程序并要求在新进程中立即提升特权时,它需要一个活动的父窗口句柄来显示其同意 UI。 IHWEventHandler::HandleEvent 无法提供句柄,因此仅显示闪烁的任务栏。 IHWEventHandler2::HandleEventWithHWND 提供 HWND 并允许显示 UI。
请注意,如果处理程序默认启动而不是由直接用户操作启动,则 HWND 不处于活动状态,并且对话框不会显示在前台。
事件类型不是 C/C++ 语言常量;它们是文本字符串。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl.h |