Fonction ZwCreateDirectoryObject (wdm.h)
La routine ZwCreateDirectoryObject crée ou ouvre un objet object-directory.
Syntaxe
NTSYSAPI NTSTATUS ZwCreateDirectoryObject(
[out] PHANDLE DirectoryHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
Paramètres
[out] DirectoryHandle
Pointeur vers une variable HANDLE qui reçoit un handle vers le répertoire d’objets.
[in] DesiredAccess
Spécifie une valeur ACCESS_MASK qui détermine l’accès demandé à l’objet. Outre les droits d’accès définis pour tous les types d’objets (voir ACCESS_MASK), l’appelant peut spécifier un ou plusieurs des droits d’accès suivants, qui sont spécifiques aux répertoires d’objets :
indicateur ACCESS_MASK | Type d’accès |
---|---|
DIRECTORY_QUERY | Requête |
DIRECTORY_TRAVERSE | Recherche de nom |
DIRECTORY_CREATE_OBJECT | Création de noms |
DIRECTORY_CREATE_SUBDIRECTORY | Création de sous-répertoire |
DIRECTORY_ALL_ACCESS | Tous les types précédents |
[in] ObjectAttributes
Pointeur vers une structure OBJECT_ATTRIBUTES qui contient les attributs de l’objet, que vous devez avoir déjà initialisés en appelant InitializeObjectAttributes.
Valeur retournée
ZwCreateDirectoryObject retourne une valeur NTSTATUS. Les valeurs de retour possibles sont les suivantes :
Remarques
Une fois que le handle pointé par DirectoryHandle n’est plus utilisé, le pilote doit appeler ZwClose pour le fermer.
Si l’appelant n’est pas en cours d’exécution dans un contexte de thread système, il doit s’assurer que tous les handles qu’il crée sont des handles privés. Sinon, le handle est accessible par le processus dans lequel le pilote est en cours d’exécution. Pour plus d’informations, consultez Handles d’objet.
Le système utilise des répertoires d’objets pour organiser d’autres types d’objets, tels que des objets d’appareil. Pour plus d’informations, consultez Répertoires d’objets.
Le système n’utilise pas d’objets de répertoire d’objets pour représenter des répertoires de système de fichiers, qui sont plutôt représentés en tant qu’objets de fichier.
Si l’appel à cette fonction se produit en mode utilisateur, vous devez utiliser le nom « NtCreateDirectoryObject » au lieu de « ZwCreateDirectoryObject ».
Pour les appels à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment dans la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Utilisation des versions Nt et Zw des routines des services système natifs.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport),PowerIrpDDis(wdm) |
Voir aussi
Utilisation des versions Nt et Zw des routines natives des services système natifs