Compartilhar via


Função NtOpenDirectoryObject

[Essa função pode estar alterada ou indisponível no futuro.]

Abre um objeto de diretório existente.

Sintaxe

NTSTATUS WINAPI NtOpenDirectoryObject(
  _Out_ PHANDLE            DirectoryHandle,
  _In_  ACCESS_MASK        DesiredAccess,
  _In_  POBJECT_ATTRIBUTES ObjectAttributes
);

Parâmetros

DirectoryHandle [out]

Um identificador para o objeto de diretório recém-aberto.

DesiredAccess [in]

Um ACCESS_MASK que especifica o acesso solicitado ao objeto de diretório. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
DIRECTORY_QUERY
0x0001
Consultar o acesso ao objeto de diretório.
DIRECTORY_TRAVERSE
0x0002
Acesso de pesquisa de nome ao objeto de diretório.
DIRECTORY_CREATE_OBJECT
0x0004
Acesso de criação de nome ao objeto de diretório.
DIRECTORY_CREATE_SUBDIRECTORY
0x0008
Acesso de criação de subdiretório ao objeto de diretório.
DIRECTORY_ALL_ACCESS
STANDARD_RIGHTS_REQUIRED | 0xf
Todos os direitos anteriores mais STANDARD_RIGHTS_REQUIRED.

 

ObjectAttributes [in]

Os atributos do objeto de diretório. Para inicializar a estrutura OBJECT_ATTRIBUTES , use a macro InitializeObjectAttributes . Para obter mais informações, consulte a documentação desses itens na documentação do WDK.

Valor retornado

A função retorna STATUS_SUCCESS ou um erro status. Os possíveis códigos de status incluem o seguinte.

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES
Não foi possível alocar um buffer temporário exigido por essa função.
STATUS_INVALID_PARAMETER
O parâmetro ObjectAttributes especificado era um ponteiro NULL , não um ponteiro válido para uma estrutura OBJECT_ATTRIBUTES ou alguns dos membros especificados na estrutura OBJECT_ATTRIBUTES não eram válidos.
STATUS_OBJECT_NAME_INVALID
O parâmetro ObjectAttributes continha um membro ObjectName na estrutura OBJECT_ATTRIBUTES que não era válido porque uma cadeia de caracteres vazia foi encontrada após o caractere OBJECT_NAME_PATH_SEPARATOR .
STATUS_OBJECT_NAME_NOT_FOUND
O parâmetro ObjectAttributes continha um membro ObjectName na estrutura OBJECT_ATTRIBUTES que não pôde ser encontrado.
STATUS_OBJECT_PATH_NOT_FOUND
O parâmetro ObjectAttributes continha um membro ObjectName na estrutura OBJECT_ATTRIBUTES com um caminho de objeto que não pôde ser encontrado.
STATUS_OBJECT_PATH_SYNTAX_BAD
O parâmetro ObjectAttributes não continha um membro RootDirectory , mas o membro ObjectName na estrutura OBJECT_ATTRIBUTES era uma cadeia de caracteres vazia ou não continha um caractere OBJECT_NAME_PATH_SEPARATOR . Isso indica a sintaxe incorreta para o caminho do objeto.

 

Comentários

Essa função não tem biblioteca de importação ou arquivo de cabeçalho associado; você deve chamá-lo usando as funções LoadLibrary e GetProcAddress .

Requisitos

Requisito Valor
DLL
Ntdll.dll

Confira também

NtQueryDirectoryObject