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 |
|
DLL |
|