Freigeben über


CreateHardwareEventMoniker-Funktion

[Diese Funktion ist über Windows XP mit Service Pack 2 (SP2) und Windows Server 2003 verfügbar. In nachfolgenden Windows-Versionen ist sie möglicherweise geändert oder nicht verfügbar.]

Erstellt einen Moniker, der eine Hardwarekomponente und den zugehörigen Ereignishandler darstellt. Die automatische Wiedergabe verwendet diese Funktion, um Anwendungen die Verwendung von AutoPlay-Ereignissen zu ermöglichen.

Syntax

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

Parameter

clsid [in]

Typ: REFCLSID

Die ID der Klasse, an die der Moniker gebunden ist.

pszEventHandler [in]

Typ: LPCTSTR

Der Name des Ereignishandlers.

ppmoniker [out]

Typ: IMoniker**

Die Adresse einer Zeigervariable, die den IMoniker-Schnittstellenzeiger empfängt.

Rückgabewert

Typ: HRESULT

Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

Bemerkungen

Verwenden Sie CreateHardwareEventMoniker , wenn Sie ausgeführte Anwendungen registrieren, damit diese Anwendungen Zugriff auf AutoPlay-Ereignisse haben. Um AutoPlay-Ereignisse in ausgeführten Anwendungen verwenden zu können, müssen Sie zunächst eine neue Komponente erstellen, die die IHWEventHandler-Schnittstelle implementiert. Initialisieren Sie diese Schnittstelle mit dem InitCmdLine-Wert aus dem Eintrag des bestimmten Handlers unter dem Handlers-Schlüssel , da die Automatische Wiedergabe die Initialize-Methode nicht aufruft.

Rufen Sie CreateHardwareEventMoniker auf, um einen Moniker abzurufen, der Ihre Komponente und ihren Ereignishandler darstellt. Verwenden Sie dann den im ppmoniker-Parameter zurückgegebenen Wert, um Ihre Komponente in der ausgeführten Objekttabelle (ROT) zu registrieren, wie im Beispiel gezeigt.

Beachten Sie, dass CreateHardwareEventMoniker nicht in einer Headerdatei definiert ist. Um sie im Code verwenden zu können, müssen Sie über einen Aufruf von LoadLibrary ein Handle für die Shsvcs.dll-Datei abrufen. Anschließend verwenden Sie dieses Handle in einem Aufruf von GetProcAddress, um eine instance der CreateHardwareEventMoniker-Funktion abzurufen.

Für den Aufruf von IRunningObjectTable::Register müssen Sie die folgenden AppID-Informationen in die Registrierung eingeben.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Header
Keine
DLL
Shsvcs.dll