Função ZwCreateDirectoryObject (wdm.h)

A rotina ZwCreateDirectoryObject cria ou abre um objeto object-directory.

Sintaxe

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

Parâmetros

[out] DirectoryHandle

Ponteiro para uma variável HANDLE que recebe um identificador para o diretório do objeto.

[in] DesiredAccess

Especifica um valor ACCESS_MASK que determina o acesso solicitado ao objeto . Além dos direitos de acesso definidos para todos os tipos de objetos (consulte ACCESS_MASK), o chamador pode especificar um ou mais dos seguintes direitos de acesso, que são específicos para diretórios de objeto:

sinalizador ACCESS_MASK Tipo de acesso
DIRECTORY_QUERY Consulta
DIRECTORY_TRAVERSE Pesquisa de nome
DIRECTORY_CREATE_OBJECT Criação de nome
DIRECTORY_CREATE_SUBDIRECTORY Criação de subdiretório
DIRECTORY_ALL_ACCESS Todos os tipos anteriores

[in] ObjectAttributes

Ponteiro para uma estrutura OBJECT_ATTRIBUTES que contém os atributos do objeto, que você já deve ter inicializado chamando InitializeObjectAttributes.

Retornar valor

ZwCreateDirectoryObject retorna um valor NTSTATUS. Os possíveis valores retornados incluem:

Comentários

Depois que o identificador apontado por DirectoryHandle não estiver mais em uso, o driver deverá chamar ZwClose para fechá-lo.

Se o chamador não estiver em execução em um contexto de thread do sistema, ele deverá garantir que todos os identificadores que ele cria sejam identificadores privados. Caso contrário, o identificador pode ser acessado pelo processo em cujo contexto o driver está em execução. Para obter mais informações, consulte Identificadores de objeto.

O sistema usa diretórios de objeto para organizar outros tipos de objetos, como objetos de dispositivo. Para obter mais informações, consulte Diretórios de objetos.

O sistema não usa objetos de diretório de objeto para representar diretórios do sistema de arquivos, que são representados como objetos de arquivo.

Se a chamada para essa função ocorrer no modo de usuário, você deverá usar o nome "NtCreateDirectoryObject" em vez de "ZwCreateDirectoryObject".

Para chamadas de drivers no modo kernel, as versões NtXxx e ZwXxx de uma rotina dos Serviços do Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas dos Serviços de Sistema Nativo.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Confira também

ACCESS_MASK

InitializeObjectAttributes

Usando versões Nt e Zw das rotinas dos Serviços de Sistema Nativo

ZwClose