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
Usando versões Nt e Zw das rotinas dos Serviços de Sistema Nativo