Funzione ZwOpenKey (wdm.h)

La routine ZwOpenKey apre una chiave del Registro di sistema esistente.

Sintassi

NTSYSAPI NTSTATUS ZwOpenKey(
  [out] PHANDLE            KeyHandle,
  [in]  ACCESS_MASK        DesiredAccess,
  [in]  POBJECT_ATTRIBUTES ObjectAttributes
);

Parametri

[out] KeyHandle

Puntatore alla variabile HANDLE che riceve l'handle nella chiave.

[in] DesiredAccess

Specifica un valore ACCESS_MASK che determina l'accesso richiesto all'oggetto. Per altre informazioni, vedere il parametro DesiredAccess di ZwCreateKey.

[in] ObjectAttributes

Puntatore a una struttura OBJECT_ATTRIBUTES che specifica il nome dell'oggetto e altri attributi. Usare InitializeObjectAttributes per inizializzare questa struttura. Se il chiamante non è in esecuzione in un contesto di thread di sistema, deve impostare l'attributo OBJ_KERNEL_HANDLE quando chiama InitializeObjectAttributes.

Valore restituito

ZwOpenKey restituisce STATUS_SUCCESS se la chiave specificata è stata aperta. In caso contrario, può restituire uno stato di errore, incluso quanto segue:

  • STATUS_INVALID_HANDLE

  • STATUS_ACCESS_DENIED

Commenti

ZwOpenKey fornisce un handle che il chiamante può usare per modificare una chiave del Registro di sistema. La routine fornisce un subset della funzionalità di ZwCreateKey. Per altre informazioni, vedere Uso del Registro di sistema in un driver.

Se la chiave specificata non esiste, ZwOpenKey restituisce uno stato di errore e non restituisce un handle chiave.

Una volta che l'handle puntato da KeyHandle non è più in uso, il driver deve chiamare ZwClose per chiuderlo.

ZwOpenKey ignora le informazioni di sicurezza nella struttura a cui punta il parametro ObjectAttributes .

Se il chiamante non è in esecuzione in un contesto di thread di sistema, è necessario assicurarsi che gli handle creati siano handle privati. In caso contrario, l'handle può essere accessibile dal processo nel cui contesto è in esecuzione il driver. Per altre informazioni, vedere Handle degli oggetti.

Per altre informazioni sull'uso delle chiavi del Registro di sistema, vedere Uso del Registro di sistema in un driver.

Se la chiamata a questa funzione si verifica in modalità utente, è necessario usare il nome "NtOpenKey" anziché "ZwOpenKey".

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDDIs(storport), IrqlZwPassive(wdm), PowerIrpDDis(wdm), ZwRegistryCreate(storport), ZwRegistryOpen(storport), ZwRegistryOpen(storport), ZwRegistryOpen(storport), ZwRegistryOpen(wdm)

Vedi anche

ACCESS_MASK

InitializeObjectAttributes

ZwCreateKey

ZwDeleteKey

ZwEnumerateKey

ZwEnumerateValueKey

ZwFlushKey

ZwQueryKey

ZwQueryValueKey

ZwSetValueKey