Compartir a través de


Función ZwCreateDirectoryObject (wdm.h)

La rutina ZwCreateDirectoryObject crea o abre un objeto de directorio de objetos.

Sintaxis

NTSYSAPI NTSTATUS ZwCreateDirectoryObject(
  [out] PHANDLE            DirectoryHandle,
  [in]  ACCESS_MASK        DesiredAccess,
  [in]  POBJECT_ATTRIBUTES ObjectAttributes
);

Parámetros

[out] DirectoryHandle

Puntero a una variable HANDLE que recibe un identificador en el directorio de objetos.

[in] DesiredAccess

Especifica un valor ACCESS_MASK que determina el acceso solicitado al objeto . Además de los derechos de acceso definidos para todos los tipos de objetos (vea ACCESS_MASK), el autor de la llamada puede especificar uno o varios de los siguientes derechos de acceso, que son específicos de los directorios de objetos:

marca de ACCESS_MASK Tipo de acceso
DIRECTORY_QUERY Consultar
DIRECTORY_TRAVERSE Búsqueda de nombres
DIRECTORY_CREATE_OBJECT Creación de nombres
DIRECTORY_CREATE_SUBDIRECTORY Creación de subdirectorios
DIRECTORY_ALL_ACCESS Todos los tipos anteriores

[in] ObjectAttributes

Puntero a una estructura de OBJECT_ATTRIBUTES que contiene los atributos del objeto, que debe haber inicializado llamando a InitializeObjectAttributes.

Valor devuelto

ZwCreateDirectoryObject devuelve un valor NTSTATUS. Entre los valores devueltos posibles se incluyen:

Comentarios

Una vez que el identificador al que apunta DirectoryHandle ya no está en uso, el controlador debe llamar a ZwClose para cerrarlo.

Si el autor de la llamada no se está ejecutando en un contexto de subproceso del sistema, debe asegurarse de que los identificadores que cree sean identificadores privados. De lo contrario, el proceso puede acceder al identificador en cuyo contexto se ejecuta el controlador. Para obtener más información, vea Identificadores de objeto.

El sistema usa directorios de objetos para organizar otros tipos de objetos, como los objetos de dispositivo. Para obtener más información, vea Directorios de objetos.

El sistema no usa objetos de directorio de objetos para representar directorios del sistema de archivos, que se representan en su lugar como objetos de archivo.

Si la llamada a esta función se produce en modo de usuario, debe usar el nombre "NtCreateDirectoryObject" en lugar de "ZwCreateDirectoryObject".

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Servicios del sistema nativo de Windows se pueden comportar de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

ACCESS_MASK

InitializeObjectAttributes

Uso de las versiones Nt y Zw de las rutinas nativas de Servicios del sistema

ZwClose