Freigeben über


CmCallbackGetKeyObjectID-Funktion (wdm.h)

Die CmCallbackGetKeyObjectID-Routine ruft den eindeutigen Bezeichner und Objektnamen ab, die einem angegebenen Registrierungsschlüsselobjekt zugeordnet sind.

Ab Windows 8 sollten Registrierungsfiltertreiber die CmCallbackGetKeyObjectIDEx-Routine anstelle von CmCallbackGetKeyObjectID aufrufen. Weitere Informationen finden Sie weiter unten im Abschnitt Hinweise .

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-Rückrufroutine 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 einen Speicherort, der einen Zeiger auf den eindeutigen Bezeichner empfängt, der den Registrierungsschlüssel darstellt, den Object angibt. Dieser Parameter ist optional und kann NULL sein.

[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 sein.

Rückgabewert

CmCallbackGetKeyObjectID gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Mögliche Fehlerrückgabewerte umfassen den folgenden status Code.

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER Der Cookie- oder Object-Parameter ist ungültig.

Hinweise

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 CmCallbackGetKeyObjectID aufrufen.

Treiber können CmCallbackGetKeyObjectID verwenden, um den Registrierungsschlüsselbezeichner, den Objektnamen oder beides abzurufen, indem sie Werte ohne NULL für die Parameter ObjectID oder ObjectName angeben.

Nachdem der Treiber den Bezeichner oder Namen abgerufen hat, ist der Bezeichner oder Name gültig, bis die RegistryCallback-Routine des Treibers eine Vorabbenachrichtigung über das Schließen des Handle 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 Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Weitere Informationen

CmCallbackGetKeyObjectIDEx

CmRegisterCallback

CmRegisterCallbackEx

RegistryCallback

UNICODE_STRING