NtOpenDirectoryObject function
[This function may be altered or unavailable in the future.]
Opens an existing directory object.
Syntax
NTSTATUS WINAPI NtOpenDirectoryObject(
_Out_ PHANDLE DirectoryHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes
);
Parameters
-
DirectoryHandle [out]
-
A handle to the newly opened directory object.
-
DesiredAccess [in]
-
An ACCESS_MASK that specifies the requested access to the directory object. This parameter can be one or more of the following values.
Value Meaning - DIRECTORY_QUERY
- 0x0001
Query access to the directory object. - DIRECTORY_TRAVERSE
- 0x0002
Name-lookup access to the directory object. - DIRECTORY_CREATE_OBJECT
- 0x0004
Name-creation access to the directory object. - DIRECTORY_CREATE_SUBDIRECTORY
- 0x0008
Subdirectory-creation access to the directory object. - DIRECTORY_ALL_ACCESS
- STANDARD_RIGHTS_REQUIRED | 0xF
All of the preceding rights plus STANDARD_RIGHTS_REQUIRED. -
ObjectAttributes [in]
-
The attributes for the directory object. To initialize the OBJECT_ATTRIBUTES structure, use the InitializeObjectAttributes macro. For more information, see the documentation for these items in the documentation for the WDK.
Return value
The function returns STATUS_SUCCESS or an error status. The possible status codes include the following.
Return code | Description |
---|---|
|
A temporary buffer required by this function could not be allocated. |
|
The specified ObjectAttributes parameter was a NULL pointer, not a valid pointer to an OBJECT_ATTRIBUTES structure, or some of the members specified in the OBJECT_ATTRIBUTES structure were not valid. |
|
The ObjectAttributes parameter contained an ObjectName member in the OBJECT_ATTRIBUTES structure that was not valid because an empty string was found after the OBJECT_NAME_PATH_SEPARATOR character. |
|
The ObjectAttributes parameter contained an ObjectName member in the OBJECT_ATTRIBUTES structure that could not be found. |
|
The ObjectAttributes parameter contained an ObjectName member in the OBJECT_ATTRIBUTES structure with an object path that could not be found. |
|
The ObjectAttributes parameter did not contain a RootDirectory member, but the ObjectName member in the OBJECT_ATTRIBUTES structure was an empty string or did not contain an OBJECT_NAME_PATH_SEPARATOR character. This indicates incorrect syntax for the object path. |
Remarks
This function has no associated import library or header file; you must call it using the LoadLibrary and GetProcAddress functions.
Requirements
Requirement | Value |
---|---|
DLL |
|
See also