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