Freigeben über


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

Siehe auch

CmCallbackGetKeyObjectIDEx

CmRegisterCallback-

CmRegisterCallbackEx-

RegistryCallback-

UNICODE_STRING