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) |