Compartir a través de


Función NtOpenDirectoryObject

[Esta función puede modificarse o no estar disponible en el futuro.

Abre un objeto de directorio existente.

Sintaxis

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

Parámetros

DirectoryHandle [out]

Identificador del objeto de directorio recién abierto.

DesiredAccess [in]

Un ACCESS_MASK que especifica el acceso solicitado al objeto de directorio. Este parámetro puede ser uno o más de los siguientes valores.

Value Significado
DIRECTORY_QUERY
0x0001
Consulte el acceso al objeto de directorio.
DIRECTORY_TRAVERSE
0x0002
Acceso de búsqueda de nombres al objeto de directorio.
DIRECTORY_CREATE_OBJECT
0x0004
Acceso de creación de nombres al objeto de directorio.
DIRECTORY_CREATE_SUBDIRECTORY
0x0008
Acceso de creación de subdirectorios al objeto de directorio.
DIRECTORY_ALL_ACCESS
STANDARD_RIGHTS_REQUIRED | 0xF
Todos los derechos anteriores más STANDARD_RIGHTS_REQUIRED.

 

ObjectAttributes [in]

Atributos del objeto de directorio. Para inicializar la estructura de OBJECT_ATTRIBUTES , use la macro InitializeObjectAttributes . Para obtener más información, consulte la documentación de estos elementos en la documentación de WDK.

Valor devuelto

La función devuelve STATUS_SUCCESS o un estado de error. Los códigos de estado posibles incluyen lo siguiente.

Código devuelto Descripción
STATUS_INSUFFICIENT_RESOURCES
No se pudo asignar un búfer temporal requerido por esta función.
STATUS_INVALID_PARAMETER
El parámetro ObjectAttributes especificado era un puntero NULL , no un puntero válido a una estructura de OBJECT_ATTRIBUTES o algunos de los miembros especificados en la estructura OBJECT_ATTRIBUTES no eran válidos.
STATUS_OBJECT_NAME_INVALID
El parámetro ObjectAttributes contenía un miembro ObjectName en la estructura OBJECT_ATTRIBUTES que no era válida porque se encontró una cadena vacía después del carácter OBJECT_NAME_PATH_SEPARATOR .
STATUS_OBJECT_NAME_NOT_FOUND
El parámetro ObjectAttributes contenía un miembro ObjectName en la estructura OBJECT_ATTRIBUTES que no se encontró.
STATUS_OBJECT_PATH_NOT_FOUND
El parámetro ObjectAttributes contenía un miembro ObjectName en la estructura OBJECT_ATTRIBUTES con una ruta de acceso de objeto que no se encontró.
STATUS_OBJECT_PATH_SYNTAX_BAD
El parámetro ObjectAttributes no contenía un miembro RootDirectory , pero el miembro ObjectName de la estructura OBJECT_ATTRIBUTES era una cadena vacía o no contenía un carácter OBJECT_NAME_PATH_SEPARATOR . Esto indica una sintaxis incorrecta para la ruta de acceso del objeto.

 

Comentarios

Esta función no tiene ningún archivo de encabezado o biblioteca de importación asociado; Debe llamarlo mediante las funciones LoadLibrary y GetProcAddress .

Requisitos

Requisito Value
Archivo DLL
Ntdll.dll

Consulte también

NtQueryDirectoryObject