IHandlerActivationHost::BeforeCoCreateInstance 方法 (shobjidl_core.h)

通知 ShellExecuteEx 的客户端即将创建处理程序,使该客户端有机会显示 UI,确认该处理程序的使用或通过返回特定的错误代码来拒绝它。

语法

HRESULT BeforeCoCreateInstance(
  [in] REFCLSID        clsidHandler,
  [in] IShellItemArray *itemsBeingActivated,
  [in] IHandlerInfo    *handlerInfo
);

参数

[in] clsidHandler

标识处理程序。

[in] itemsBeingActivated

将传递给处理程序的 Shell 项对象。 通常只有一个,但在某些情况下可以有多个。

[in] handlerInfo

提供对将要调用的处理程序相关信息的访问。 在支持该接口的 Windows 版本上,此对象还支持 IHandlerInfo2

返回值

如果该方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码, HRESULT_FROM_WIN32 (ERROR_CANCELLED) 指示应取消 ShellExecute 调用, EXECUTE_E_LAUNCH_APPLICATION 指示不应使用此处理程序,但如果有另一个处理程序,则应使用该处理程序。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)

另请参阅

IHandlerActivationHost