Condividi tramite


Funzione ZwCreateDirectoryObject (wdm.h)

La routine ZwCreateDirectoryObject crea o apre un oggetto object-directory.

Sintassi

NTSYSAPI NTSTATUS ZwCreateDirectoryObject(
  [out] PHANDLE            DirectoryHandle,
  [in]  ACCESS_MASK        DesiredAccess,
  [in]  POBJECT_ATTRIBUTES ObjectAttributes
);

Parametri

[out] DirectoryHandle

Puntatore a una variabile HANDLE che riceve un handle nella directory dell'oggetto.

[in] DesiredAccess

Specifica un valore ACCESS_MASK che determina l'accesso richiesto all'oggetto. Oltre ai diritti di accesso definiti per tutti i tipi di oggetti (vedere ACCESS_MASK), il chiamante può specificare uno o più dei diritti di accesso seguenti, specifici per le directory degli oggetti:

flag ACCESS_MASK Tipo di accesso
DIRECTORY_QUERY Query
DIRECTORY_TRAVERSE Ricerca nome
DIRECTORY_CREATE_OBJECT Creazione di nomi
DIRECTORY_CREATE_SUBDIRECTORY Creazione di sottodirectory
DIRECTORY_ALL_ACCESS Tutti i tipi precedenti

[in] ObjectAttributes

Puntatore a una struttura OBJECT_ATTRIBUTES contenente gli attributi dell'oggetto, che è necessario aver già inizializzato chiamando InitializeObjectAttributes.

Valore restituito

ZwCreateDirectoryObject restituisce un valore NTSTATUS. I valori restituiti possibili includono:

Commenti

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

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.

Il sistema usa le directory degli oggetti per organizzare altri tipi di oggetti, ad esempio oggetti dispositivo. Per altre informazioni, vedere Directory oggetti.

Il sistema non usa oggetti directory per rappresentare le directory del file system, rappresentate invece come oggetti file.

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

Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Uso di nt e zw versioni delle routine di Servizi di sistema nativo.

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 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

ACCESS_MASK

InitializeObjectAttributes

Uso di nt e zw versioni delle routine di Servizi di sistema nativo

ZwClose