Condividi tramite


Funzione CmCallbackGetKeyObjectID (wdm.h)

La routine CmCallbackGetKeyObjectID recupera l'identificatore univoco e il nome dell'oggetto associati a un oggetto chiave del Registro di sistema specificato.

A partire da Windows 8, i driver di filtro del Registro di sistema devono chiamare la routine CmCallbackGetKeyObjectIDEx anziché CmCallbackGetKeyObjectID. Per altre informazioni, vedere la sezione Osservazioni di seguito.

Sintassi

NTSTATUS CmCallbackGetKeyObjectID(
  [in]            PLARGE_INTEGER   Cookie,
  [in]            PVOID            Object,
  [out, optional] PULONG_PTR       ObjectID,
  [out, optional] PCUNICODE_STRING *ObjectName
);

Parametri

[in] Cookie

Valore del cookie ottenuto in precedenza chiamando la routine CmRegisterCallback o CmRegisterCallbackEx .

[in] Object

Valore del puntatore ricevuto dalla routine di callback del driver nel membro Object di una delle strutture REG_XXX_KEY_INFORMATION.

Avviso

In determinate circostanze le strutture di notifica di callback del Registro di sistema possono contenere puntatori a oggetti non NULL non validi. I driver di filtro del Registro di sistema non devono passare tali puntatori a questa routine. Per altre informazioni, vedere Puntatori a oggetti chiave non validi nelle notifiche del Registro di sistema.

[out, optional] ObjectID

Puntatore a una posizione che riceve un puntatore all'identificatore univoco che rappresenta la chiave del Registro di sistema specificata dall'oggetto . Questo parametro è facoltativo e può essere NULL.

[out, optional] ObjectName

Puntatore a una posizione che riceve un puntatore a una struttura UNICODE_STRING . Questa struttura contiene il nome dell'oggetto chiave del Registro di sistema specificato da Object . Il nome dell'oggetto è effettivamente il nome completo del percorso della chiave del Registro di sistema rappresentata dall'oggetto. Il chiamante non deve scrivere in questa struttura UNICODE_STRING o liberarla. Questo parametro è facoltativo e può essere NULL.

Valore restituito

CmCallbackGetKeyObjectID restituisce STATUS_SUCCESS se l'operazione ha esito positivo. I valori restituiti degli errori possibili includono il codice di stato seguente.

Codice restituito Descrizione
STATUS_INVALID_PARAMETER Il parametro Cookie o Object non è valido.

Commenti

La routine CmCallbackGetKeyObjectID è disponibile a partire da Windows Vista. Una versione migliorata di questa routine, CmCallbackGetKeyObjectIDEx, è disponibile a partire da Windows 8. I driver che vengono eseguiti solo in Windows 8 e versioni successive di Windows devono chiamare CmCallbackGetKeyObjectIDEx anziché CmCallbackGetKeyObjectID.

I driver possono usare CmCallbackGetKeyObjectID per ottenere l'identificatore della chiave del Registro di sistema, il nome dell'oggetto o entrambi, fornendo valori non NULL per i parametri ObjectID o ObjectName.

Dopo aver ottenuto l'identificatore o il nome, l'identificatore o il nome non sono validi fino a quando la routine RegistryCallback del driver riceve la pre-notifica della chiusura dell'handle.

Il driver non deve modificare il nome dell'oggetto.

Se due oggetti chiave del Registro di sistema rappresentano la stessa chiave del Registro di sistema, gli identificatori di chiave per entrambi gli oggetti sono identici.

Per altre informazioni sulle operazioni di filtro cmCallbackGetKeyObjectID e del Registro di sistema, vedere Filtro delle chiamate del Registro di sistema.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Vedi anche

CmCallbackGetKeyObjectIDEx

CmRegisterCallback

CmRegisterCallbackEx

RegistryCallback

UNICODE_STRING