Partager via


Fonction NtOpenDirectoryObject

[Cette fonction peut être modifiée ou indisponible à l’avenir.]

Ouvre un objet de répertoire existant.

Syntaxe

NTSTATUS WINAPI NtOpenDirectoryObject(
  _Out_ PHANDLE            DirectoryHandle,
  _In_  ACCESS_MASK        DesiredAccess,
  _In_  POBJECT_ATTRIBUTES ObjectAttributes
);

Paramètres

DirectoryHandle [out]

Handle de l’objet de répertoire nouvellement ouvert.

DesiredAccess [in]

Une ACCESS_MASK qui spécifie l’accès demandé à l’objet directory. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.

Valeur Signification
DIRECTORY_QUERY
0x0001
Interroger l’accès à l’objet répertoire.
DIRECTORY_TRAVERSE
0x0002
Accès de recherche de nom à l’objet répertoire.
DIRECTORY_CREATE_OBJECT
0x0004
Accès de création de nom à l’objet de répertoire.
DIRECTORY_CREATE_SUBDIRECTORY
0x0008
Accès de sous-répertoire à l’objet directory.
DIRECTORY_ALL_ACCESS
STANDARD_RIGHTS_REQUIRED | 0xf
Tous les droits précédents plus STANDARD_RIGHTS_REQUIRED.

 

ObjectAttributes [in]

Attributs de l’objet directory. Pour initialiser la structure OBJECT_ATTRIBUTES , utilisez la macro InitializeObjectAttributes . Pour plus d’informations, consultez la documentation relative à ces éléments dans la documentation relative au WDK.

Valeur retournée

La fonction retourne STATUS_SUCCESS ou une status d’erreur. Les codes status possibles sont les suivants.

Code de retour Description
STATUS_INSUFFICIENT_RESOURCES
Une mémoire tampon temporaire requise par cette fonction n’a pas pu être allouée.
STATUS_INVALID_PARAMETER
Le paramètre ObjectAttributes spécifié était un pointeur NULL , pas un pointeur valide vers une structure de OBJECT_ATTRIBUTES , ou certains des membres spécifiés dans la structure OBJECT_ATTRIBUTES n’étaient pas valides.
STATUS_OBJECT_NAME_INVALID
Le paramètre ObjectAttributes contenait un membre ObjectName dans la structure OBJECT_ATTRIBUTES qui n’était pas valide, car une chaîne vide a été trouvée après le caractère OBJECT_NAME_PATH_SEPARATOR .
STATUS_OBJECT_NAME_NOT_FOUND
Le paramètre ObjectAttributes contenait un membre ObjectName dans la structure OBJECT_ATTRIBUTES introuvable.
STATUS_OBJECT_PATH_NOT_FOUND
Le paramètre ObjectAttributes contenait un membre ObjectName dans la structure OBJECT_ATTRIBUTES avec un chemin d’accès d’objet introuvable.
STATUS_OBJECT_PATH_SYNTAX_BAD
Le paramètre ObjectAttributes ne contenait pas de membre RootDirectory , mais le membre ObjectName de la structure OBJECT_ATTRIBUTES était une chaîne vide ou ne contenait pas de caractère OBJECT_NAME_PATH_SEPARATOR . Cela indique une syntaxe incorrecte pour le chemin d’accès de l’objet.

 

Notes

Cette fonction n’a aucune bibliothèque d’importation ou fichier d’en-tête associé ; vous devez l’appeler à l’aide des fonctions LoadLibrary et GetProcAddress .

Spécifications

Condition requise Valeur
DLL
Ntdll.dll

Voir aussi

NtQueryDirectoryObject