NtOpenDirectoryObject 函数
[此函数将来可能已更改或不可用。]
打开现有目录对象。
语法
NTSTATUS WINAPI NtOpenDirectoryObject(
_Out_ PHANDLE DirectoryHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes
);
parameters
-
DirectoryHandle [out]
-
新打开的目录对象的句柄。
-
DesiredAccess [in]
-
一个ACCESS_MASK,指定对目录对象的请求访问权限。 此参数可使用以下一个或多个值。
值 含义 - DIRECTORY_QUERY
- 0x0001
查询对目录对象的访问。 - DIRECTORY_TRAVERSE
- 0x0002
对目录对象的名称查找访问。 - DIRECTORY_CREATE_OBJECT
- 0x0004
对目录对象的名称创建访问权限。 - DIRECTORY_CREATE_SUBDIRECTORY
- 0x0008
对目录对象的子目录创建访问权限。 - DIRECTORY_ALL_ACCESS
- STANDARD_RIGHTS_REQUIRED |0xF
上述所有权利加上 STANDARD_RIGHTS_REQUIRED。 -
ObjectAttributes [in]
-
目录对象的属性。 若要初始化 OBJECT_ATTRIBUTES 结构,请使用 InitializeObjectAttributes 宏。 有关详细信息,请参阅 WDK 文档中这些项的文档。
返回值
函数返回STATUS_SUCCESS或错误状态。 可能的状态代码包括以下内容。
返回代码 | 说明 |
---|---|
|
无法分配此函数所需的临时缓冲区。 |
|
指定的 ObjectAttributes 参数是 NULL 指针,而不是指向 OBJECT_ATTRIBUTES 结构的有效指针,或者 OBJECT_ATTRIBUTES 结构中指定的某些成员无效。 |
|
ObjectAttributes 参数在 OBJECT_ATTRIBUTES 结构中包含一个无效的 ObjectName 成员,因为在OBJECT_NAME_PATH_SEPARATOR字符之后找到了空字符串。 |
|
ObjectAttributes 参数在OBJECT_ATTRIBUTES结构中包含一个找不到的 ObjectName 成员。 |
|
ObjectAttributes 参数在OBJECT_ATTRIBUTES结构中包含一个 ObjectName 成员,其中包含找不到的对象路径。 |
|
ObjectAttributes 参数不包含 RootDirectory 成员,但 OBJECT_ATTRIBUTES 结构中的 ObjectName 成员是空字符串或不包含OBJECT_NAME_PATH_SEPARATOR字符。 这表示对象路径的语法不正确。 |
备注
此函数没有关联的导入库或头文件;必须使用 LoadLibrary 和 GetProcAddress 函数调用它。
要求
要求 | 值 |
---|---|
DLL |
|
另请参阅