CmCallbackGetKeyObjectID-Funktion (wdm.h)
Die CmCallbackGetKeyObjectID Routine ruft den eindeutigen Bezeichner und Objektnamen ab, der einem angegebenen Registrierungsschlüsselobjekt zugeordnet ist.
Ab Windows 8 sollten Registrierungsfiltertreiber die CmCallbackGetKeyObjectIDEx Routine anstelle von CmCallbackGetKeyObjectIDaufrufen. Weitere Informationen finden Sie im Abschnitt Anmerkungen weiter unten.
Syntax
NTSTATUS CmCallbackGetKeyObjectID(
[in] PLARGE_INTEGER Cookie,
[in] PVOID Object,
[out, optional] PULONG_PTR ObjectID,
[out, optional] PCUNICODE_STRING *ObjectName
);
Parameter
[in] Cookie
Der Cookiewert, den der Treiber zuvor durch Aufrufen der CmRegisterCallback oder CmRegisterCallbackEx Routine abgerufen hat.
[in] Object
Der Zeigerwert, den die RegistryCallback- Callbackroutine des Treibers im Object Member einer der REG_XXX-_KEY_INFORMATION-Strukturen empfangen hat.
Warnung
Unter bestimmten Umständen können Registrierungsrückrufbenachrichtigungsstrukturen ungültige Nicht-NULL-Objektzeiger enthalten. Registrierungsfiltertreiber dürfen solche Zeiger nicht an diese Routine übergeben. Weitere Informationen finden Sie unter Ungültige Schlüsselobjektzeiger in Registrierungsbenachrichtigungen.
[out, optional] ObjectID
Ein Zeiger auf eine Position, die einen Zeiger auf den eindeutigen Bezeichner empfängt, der den Registrierungsschlüssel darstellt, der Object- angibt. Dieser Parameter ist optional und kann NULL-werden.
[out, optional] ObjectName
Ein Zeiger auf eine Position, die einen Zeiger auf eine UNICODE_STRING Struktur empfängt. Diese Struktur enthält den Objektnamen des Registrierungsschlüsselobjekts, das Object angibt. Der Objektname ist tatsächlich der vollständige Pfadname des Registrierungsschlüssels, den das Objekt darstellt. Der Aufrufer darf nicht in diese UNICODE_STRING Struktur schreiben oder freigeben. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
CmCallbackGetKeyObjectID gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Mögliche Fehlerrücklaufwerte sind der folgende Statuscode.
Rückgabecode | Beschreibung |
---|---|
STATUS_INVALID_PARAMETER | Der parameter Cookie oder Object ist ungültig. |
Bemerkungen
Die CmCallbackGetKeyObjectID Routine ist ab Windows Vista verfügbar. Eine verbesserte Version dieser Routine, CmCallbackGetKeyObjectIDEx, ist ab Windows 8 verfügbar. Treiber, die nur in Windows 8 und höheren Versionen von Windows ausgeführt werden, sollten CmCallbackGetKeyObjectIDEx- anstelle von CmCallbackGetKeyObjectIDaufrufen.
Treiber können CmCallbackGetKeyObjectID- verwenden, um den Registrierungsschlüsselbezeichner, den Objektnamen oder beides abzurufen, indem nicht-NULL- Werte für die parameter ObjectID oder ObjectName angegeben werden.
Nachdem der Treiber den Bezeichner oder Den Namen abgerufen hat, ist der Bezeichner oder Name gültig, bis die RegistryCallback- Routine vor dem Schließen des Handles empfängt.
Der Treiber darf den Objektnamen nicht ändern.
Wenn zwei Registrierungsschlüsselobjekte denselben Registrierungsschlüssel darstellen, sind die Schlüsselbezeichner für beide Objekte identisch.
Weitere Informationen zu CmCallbackGetKeyObjectID-- und Registrierungsfiltervorgängen finden Sie unter Filtern von Registrierungsaufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= APC_LEVEL |