Condividi tramite


Funzione CreateHardwareEventMoniker

[Questa funzione è disponibile tramite Windows XP con Service Pack 2 (SP2) e Windows Server 2003. Potrebbe essere modificato o non disponibile nelle versioni successive di Windows.]

Crea un moniker che rappresenta un componente hardware e il relativo gestore eventi associato. AutoPlay usa questa funzione per consentire alle applicazioni di usare eventi AutoPlay.

Sintassi

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

Parametri

clsid [in]

Tipo: REFCLSID

ID della classe a cui viene associato il moniker.

pszEventHandler [in]

Tipo: LPCTSTR

Nome del gestore eventi.

ppmoniker [out]

Tipo: IMoniker**

Indirizzo di una variabile del puntatore che riceve il puntatore dell'interfaccia IMoniker .

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Usare CreateHardwareEventMoniker durante la registrazione di applicazioni in esecuzione in modo che tali applicazioni abbiano accesso agli eventi AutoPlay. Per usare gli eventi AutoPlay nelle applicazioni in esecuzione, è innanzitutto necessario creare un nuovo componente che implementa l'interfaccia IHWEventHandler . Inizializzare questa interfaccia con il valore InitCmdLine della voce del gestore specifico sotto la chiave Handlers , perché AutoPlay non chiama il metodo Initialize .

È necessario chiamare CreateHardwareEventMoniker per ottenere un moniker che rappresenta il componente e il relativo gestore eventi. Usare quindi il valore restituito nel parametro ppmoniker per registrare il componente nella tabella di oggetti in esecuzione (ROT), come illustrato nell'esempio.

Si noti che CreateHardwareEventMoniker non è definito in un file di intestazione. Per usarlo nel codice, è necessario ottenere un handle per il file Shsvcs.dll tramite una chiamata a LoadLibrary. Tale handle viene quindi usato in una chiamata a GetProcAddress per ottenere un'istanza della funzione CreateHardwareEventMoniker .

La chiamata a IRunningObjectTable::Register richiede l'immissione delle informazioni AppID seguenti nel Registro di sistema.

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

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Intestazione
Nessuno
DLL
Shsvcs.dll