共用方式為


NtOpenDirectoryObject 函式

[未來可能會改變或無法使用此函式。]

開啟現有的目錄物件。

語法

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

參數

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或錯誤狀態。 可能的狀態碼包括下列專案。

傳回碼 描述
STATUS_INSUFFICIENT_RESOURCES
無法配置此函式所需的暫存緩衝區。
STATUS_INVALID_PARAMETER
指定的 ObjectAttributes 參數是 Null 指標,不是 OBJECT_ATTRIBUTES 結構的有效指標,或 OBJECT_ATTRIBUTES 結構中指定的部分成員無效。
STATUS_OBJECT_NAME_INVALID
ObjectAttributes參數包含在OBJECT_ATTRIBUTES結構中不正確ObjectName成員,因為在OBJECT_NAME_PATH_SEPARATOR字元之後找到空字串。
STATUS_OBJECT_NAME_NOT_FOUND
ObjectAttributes參數包含找不到之OBJECT_ATTRIBUTES結構中的ObjectName成員。
STATUS_OBJECT_PATH_NOT_FOUND
ObjectAttributes參數在OBJECT_ATTRIBUTES結構中包含ObjectName成員,其中包含找不到的物件路徑。
STATUS_OBJECT_PATH_SYNTAX_BAD
ObjectAttributes參數不包含RootDirectory成員,但OBJECT_ATTRIBUTES結構中的ObjectName成員是空字串,或不包含OBJECT_NAME_PATH_SEPARATOR字元。 這表示物件路徑的語法不正確。

 

備註

此函式沒有相關聯的匯入程式庫或標頭檔;您必須使用 LoadLibraryGetProcAddress 函式呼叫它。

規格需求

需求
DLL
Ntdll.dll

另請參閱

NtQueryDirectoryObject