Función ZwOpenDirectoryObject (ntifs.h)
La rutina
Sintaxis
NTSYSAPI NTSTATUS ZwOpenDirectoryObject(
[out] PHANDLE DirectoryHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
Parámetros
[out] DirectoryHandle
Identificador del objeto de directorio recién abierto.
[in] DesiredAccess
Estructura ACCESS_MASK que especifica los tipos de acceso solicitados que se solicitan para este objeto de directorio. Un autor de llamada puede especificar una o una combinación de lo siguiente.
Marcas de DesiredAccess | Significado |
---|---|
DIRECTORY_QUERY | Consulta del acceso al objeto de directorio |
DIRECTORY_TRAVERSE | Acceso de búsqueda de nombres al objeto de directorio |
DIRECTORY_CREATE_OBJECT | Acceso de creación de nombres al objeto de directorio |
DIRECTORY_CREATE_SUBDIRECTORY | Acceso de creación de subdirectorios al objeto de directorio |
DIRECTORY_ALL_ACCESS | Todos los derechos anteriores más STANDARD_RIGHTS_REQUIRED. |
Estos tipos de acceso solicitados se comparan con la lista de control de acceso discrecional del objeto (DACL) para determinar qué accesos se conceden o deniegan.
[in] ObjectAttributes
Atributos especificados para el objeto de directorio proporcionado por el autor de la llamada. Este parámetro se inicializa llamando a la macro InitializeObjectAttributes.
Valor devuelto
ZwOpenDirectoryObject devuelve STATUS_SUCCESS o un estado de error adecuado. Los códigos de estado de error más comunes son los siguientes:
Código devuelto | Descripción |
---|---|
|
No se pudo asignar un búfer temporal requerido por esta rutina. |
|
El parámetro |
|
El parámetro ObjectAttributes contenía un campo 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. |
|
El parámetro |
|
El parámetro ObjectAttributes contenía un campo ObjectName en la estructura OBJECT_ATTRIBUTES con una ruta de acceso de objeto que no se encontró. |
|
El parámetro ObjectAttributes no contenía un campo RootDirectory, pero el campo 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. |
La rutina
Observaciones
ZwOpenDirectoryObject abre un objeto de directorio existente y devuelve un identificador al objeto .
Se llama a la rutina
Se crea un objeto de directorio mediante la rutina de
Para obtener más información sobre la seguridad y el control de acceso, consulte modelo de seguridad de Windows para desarrolladores de controladores y la documentación sobre estos temas en Windows SDK.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP |
de la plataforma de destino de |
Universal |
encabezado de |
ntifs.h (include Ntdef.h, Ntifs.h, Fltkernel.h) |
biblioteca de |
NtosKrnl.lib |
DLL de |
NtosKrnl.exe |
irQL | PASSIVE_LEVEL |
reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Consulte también
usar versiones Nt y Zw de las rutinas de servicios del sistema nativo