ZwCreateDirectoryObject-Funktion (wdm.h)

Die ZwCreateDirectoryObject-Routine erstellt oder öffnet ein Objektverzeichnisobjekt.

Syntax

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

Parameter

[out] DirectoryHandle

Zeiger auf eine HANDLE-Variable, die ein Handle auf das Objektverzeichnis empfängt.

[in] DesiredAccess

Gibt einen ACCESS_MASK Wert an, der den angeforderten Zugriff auf das Objekt bestimmt. Zusätzlich zu den Zugriffsrechten, die für alle Objekttypen definiert sind (siehe ACCESS_MASK), kann der Aufrufer eine oder mehrere der folgenden Zugriffsrechte angeben, die für Objektverzeichnisse spezifisch sind:

ACCESS_MASK Flag Zugriffstyp
DIRECTORY_QUERY Abfrage
DIRECTORY_TRAVERSE Namenssuche
DIRECTORY_CREATE_OBJECT Namenserstellung
DIRECTORY_CREATE_SUBDIRECTORY Unterverzeichniserstellung
DIRECTORY_ALL_ACCESS Alle vorherigen Typen

[in] ObjectAttributes

Zeiger auf eine OBJECT_ATTRIBUTES-Struktur , die die Attribute des Objekts enthält, die Sie durch Aufrufen von InitializeObjectAttributes bereits initialisiert haben müssen.

Rückgabewert

ZwCreateDirectoryObject gibt einen NTSTATUS-Wert zurück. Mögliche Rückgabewerte sind:

Hinweise

Sobald das Handle, auf das von DirectoryHandle verwiesen wird, nicht mehr verwendet wird, muss der Treiber ZwClose aufrufen, um es zu schließen.

Wenn der Aufrufer nicht in einem Systemthreadkontext ausgeführt wird, muss er sicherstellen, dass alle von dem Aufrufer erstellten Handles private Handles sind. Andernfalls kann der Prozess, in dessen Kontext der Treiber ausgeführt wird, auf das Handle zugreifen. Weitere Informationen finden Sie unter Objekthandles.

Das System verwendet Objektverzeichnisse, um andere Objekttypen zu organisieren, z. B. Geräteobjekte. Weitere Informationen finden Sie unter Objektverzeichnisse.

Das System verwendet keine Objektverzeichnisobjekte, um Dateisystemverzeichnisse darzustellen, die stattdessen als Dateiobjekte dargestellt werden.

Wenn der Aufruf dieser Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtCreateDirectoryObject" anstelle von "ZwCreateDirectoryObject" verwenden.

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Weitere Informationen

ACCESS_MASK

InitializeObjectAttributes

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

ZwClose