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
Uso de las versiones Nt y Zw de las rutinas nativas de Servicios del sistema