共用方式為


CreateHardwareEventMoniker 函式

[此函式可透過 Windows XP 搭配 Service Pack 2 (SP2) 和 Windows Server 2003 取得。 在後續版本的 Windows 中,它可能會改變或無法使用。

建立 Moniker,代表硬體元件及其相關聯的事件處理常式。 AutoPlay 會使用此函式來允許應用程式使用 AutoPlay 事件。

語法

HRESULT CreateHardwareEventMoniker(
  _In_  REFCLSID clsid,
  _In_  LPCTSTR  pszEventHandler,
  _Out_ IMoniker **ppmoniker
);

參數

clsid [in]

類型: REFCLSID

Moniker 系結至之類別的識別碼。

pszEventHandler [in]

類型: LPCTSTR

事件處理常式的名稱。

ppmoniker [out]

類型: IMoniker**

接收 IMoniker 介面指標的指標變數位址。

傳回值

類型: HRESULT

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

註冊執行中的應用程式時,請使用 CreateHardwareEventMoniker ,讓這些應用程式能夠存取 AutoPlay 事件。 若要在執行中應用程式中使用 AutoPlay 事件,您必須先建立實作 IHWEventHandler 介面的新元件。 使用 來自 Handlers 索引鍵下特定處理常式專案之 InitCmdLine 值的 InitCmdLine 初始化這個介面,因為 AutoPlay 不會呼叫 Initialize 方法。

您應該呼叫 CreateHardwareEventMoniker ,以取得代表元件及其事件處理常式的 Moniker。 然後,使用 ppmoniker 參數中傳回的值,在執行中的物件資料表中註冊元件, (ROT) ,如範例所示。

請注意,在標頭檔中未定義 CreateHardwareEventMoniker 。 若要在程式碼中使用,您必須透過呼叫 LoadLibrary來取得Shsvcs.dll檔案的控制碼。 接著,您會在 GetProcAddress 的呼叫中使用該控制碼,以取得 CreateHardwareEventMoniker 函式的實例。

呼叫 IRunningObjectTable::Register需要您在登錄中輸入下列AppID資訊。

HKEY_CLASSES_ROOT
   AppID
      MyApp.exe
         (Default) = MyApplication
         AppID [REG_SZ] = {Your GUID here}
HKEY_CLASSES_ROOT
   AppID
      {The same GUID here}
         (Default) = MyApplication
         RunAs = Interactive User

規格需求

需求
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
標頭
DLL
Shsvcs.dll