Auf Englisch lesen

Freigeben über


NtOpenDirectoryObject-Funktion

[Diese Funktion kann in Zukunft geändert oder nicht mehr verfügbar sein.]

Öffnet ein vorhandenes Verzeichnisobjekt.

Syntax

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

Parameter

DirectoryHandle [out]

Ein Handle für das neu geöffnete Verzeichnisobjekt.

DesiredAccess [in]

Eine ACCESS_MASK , die den angeforderten Zugriff auf das Verzeichnisobjekt angibt. Dieser Parameter kann einen oder mehrere der folgenden Werte aufweisen.

Wert Bedeutung
DIRECTORY_QUERY
0x0001
Abfragen des Zugriffs auf das Verzeichnisobjekt.
DIRECTORY_TRAVERSE
0x0002
Name-Lookup-Zugriff auf das Verzeichnisobjekt.
DIRECTORY_CREATE_OBJECT
0x0004
Nameerstellungszugriff auf das Verzeichnisobjekt.
DIRECTORY_CREATE_SUBDIRECTORY
0x0008
Unterverzeichniserstellungszugriff auf das Verzeichnisobjekt.
DIRECTORY_ALL_ACCESS
STANDARD_RIGHTS_REQUIRED | 0xF
Alle oben genannten Rechte plus STANDARD_RIGHTS_REQUIRED.

 

ObjectAttributes [in]

Die Attribute für das Verzeichnisobjekt. Um die OBJECT_ATTRIBUTES-Struktur zu initialisieren, verwenden Sie das Makro InitializeObjectAttributes . Weitere Informationen finden Sie in der Dokumentation zu diesen Elementen in der Dokumentation für den WDK.

Rückgabewert

Die Funktion gibt STATUS_SUCCESS oder einen fehler status zurück. Zu den möglichen status Codes gehören folgendes:

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES
Ein temporärer Puffer, der für diese Funktion erforderlich ist, konnte nicht zugewiesen werden.
STATUS_INVALID_PARAMETER
Der angegebene ObjectAttributes-Parameter war ein NULL-Zeiger , kein gültiger Zeiger auf eine OBJECT_ATTRIBUTES-Struktur , oder einige der in der OBJECT_ATTRIBUTES-Struktur angegebenen Member waren ungültig.
STATUS_OBJECT_NAME_INVALID
Der ObjectAttributes-Parameter enthielt ein ObjectName-Element in der OBJECT_ATTRIBUTES-Struktur , das ungültig war, weil nach dem OBJECT_NAME_PATH_SEPARATOR Zeichen eine leere Zeichenfolge gefunden wurde.
STATUS_OBJECT_NAME_NOT_FOUND
Der ObjectAttributes-Parameter enthielt ein ObjectName-Element in der OBJECT_ATTRIBUTES-Struktur , das nicht gefunden werden konnte.
STATUS_OBJECT_PATH_NOT_FOUND
Der ObjectAttributes-Parameter enthielt ein ObjectName-Element in der OBJECT_ATTRIBUTES-Struktur mit einem Objektpfad, der nicht gefunden werden konnte.
STATUS_OBJECT_PATH_SYNTAX_BAD
Der ObjectAttributes-Parameter enthielt kein RootDirectory-Element , aber das ObjectName-Element in der OBJECT_ATTRIBUTES-Struktur war eine leere Zeichenfolge oder enthielt kein OBJECT_NAME_PATH_SEPARATOR Zeichen. Dies gibt eine falsche Syntax für den Objektpfad an.

 

Bemerkungen

Diese Funktion verfügt über keine zugeordnete Importbibliothek oder Headerdatei. Sie müssen es mit den Funktionen LoadLibrary und GetProcAddress aufrufen.

Anforderungen

Anforderung Wert
DLL
Ntdll.dll

Siehe auch

NtQueryDirectoryObject