Поделиться через


Функция NtOpenDirectoryObject

[Эта функция может быть изменена или недоступна в будущем.]

Открывает существующий объект каталога.

Синтаксис

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

Параметры

DirectoryHandle [out]

Дескриптор для вновь открытого объекта каталога.

DesiredAccess [in]

ACCESS_MASK, указывающий запрошенный доступ к объекту каталога. Этот параметр может быть одним или несколькими из следующих значений.

Значение Значение
DIRECTORY_QUERY
0x0001
Запрос доступа к объекту каталога.
DIRECTORY_TRAVERSE
0x0002
Доступ подстановки имени к объекту каталога.
DIRECTORY_CREATE_OBJECT
0x0004
Доступ создания имен к объекту каталога.
DIRECTORY_CREATE_SUBDIRECTORY
0x0008
Доступ создания подкаталогов к объекту каталога.
DIRECTORY_ALL_ACCESS
STANDARD_RIGHTS_REQUIRED | 0xF
Все предыдущие права плюс STANDARD_RIGHTS_REQUIRED.

 

ObjectAttributes [in]

Атрибуты объекта каталога. Чтобы инициализировать структуру OBJECT_ATTRIBUTES , используйте макрос InitializeObjectAttributes . Дополнительные сведения см. в документации по этим элементам в документации по WDK.

Возвращаемое значение

Функция возвращает STATUS_SUCCESS или состояние ошибки. Возможные коды состояния включают следующие.

Код возврата Описание
STATUS_INSUFFICIENT_RESOURCES
Не удалось выделить временный буфер, необходимый для этой функции.
STATUS_INVALID_PARAMETER
Указанный параметр ObjectAttributes был пустым указателем, а не допустимым указателем на структуру OBJECT_ATTRIBUTES или некоторые элементы, указанные в структуре OBJECT_ATTRIBUTES , были недопустимыми.
STATUS_OBJECT_NAME_INVALID
Параметр ObjectAttributes содержал элемент ObjectName в структуре OBJECT_ATTRIBUTES , который был недопустим, так как после символа OBJECT_NAME_PATH_SEPARATOR была найдена пустая строка.
STATUS_OBJECT_NAME_NOT_FOUND
Параметр ObjectAttributes содержал элемент ObjectName в структуре OBJECT_ATTRIBUTES , который не удалось найти.
STATUS_OBJECT_PATH_NOT_FOUND
Параметр ObjectAttributes содержал элемент ObjectName в структуре OBJECT_ATTRIBUTES с не удалось найти путь к объекту.
STATUS_OBJECT_PATH_SYNTAX_BAD
Параметр ObjectAttributes не содержал элемента RootDirectory , но элемент ObjectName в структуре OBJECT_ATTRIBUTES был пустой строкой или не содержал символа OBJECT_NAME_PATH_SEPARATOR . Это указывает на неправильный синтаксис пути к объекту.

 

Комментарии

У этой функции нет связанной библиотеки импорта или файла заголовков; его необходимо вызвать с помощью функций LoadLibrary и GetProcAddress .

Требования

Требование Значение
DLL
Ntdll.dll

См. также раздел

NtQueryDirectoryObject