ZwCreateDirectoryObject 函式 (wdm.h)
ZwCreateDirectoryObject 例程會建立或開啟對象目錄物件。
語法
NTSYSAPI NTSTATUS ZwCreateDirectoryObject(
[out] PHANDLE DirectoryHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
參數
[out] DirectoryHandle
接收物件目錄句柄之 HANDLE 變數的指標。
[in] DesiredAccess
指定 ACCESS_MASK 值,決定物件的要求存取權。 除了針對所有類型的物件所定義的訪問許可權, (請參閱 ACCESS_MASK) ,呼叫端還可以指定下列一或多個專屬於物件目錄的存取權:
ACCESS_MASK旗標 | 存取類型 |
---|---|
DIRECTORY_QUERY | 查詢 |
DIRECTORY_TRAVERSE | 名稱查閱 |
DIRECTORY_CREATE_OBJECT | 名稱建立 |
DIRECTORY_CREATE_SUBDIRECTORY | 子目錄建立 |
DIRECTORY_ALL_ACCESS | 上述所有類型 |
[in] ObjectAttributes
包含物件屬性 之OBJECT_ATTRIBUTES 結構的指標,您必須呼叫 InitializeObjectAttributes 來初始化這個結構。
傳回值
ZwCreateDirectoryObject 會傳回 NTSTATUS 值。 可能的傳回值包括:
備註
當 DirectoryHandle 所指向的句柄不再使用之後,驅動程式必須呼叫 ZwClose 來關閉它。
如果呼叫端未在系統線程內容中執行,則必須確保所建立的任何句柄都是私用句柄。 否則,進程可以在其中執行驅動程序的內容中存取句柄。 如需詳細資訊,請參閱 物件句柄。
系統會使用物件目錄來組織其他類型的物件,例如裝置物件。 如需詳細資訊,請參閱 物件目錄。
系統不會使用物件目錄物件來表示文件系統目錄,而是以檔案物件表示。
如果呼叫此函式發生在使用者模式中,您應該使用名稱 「NtCreateDirectoryObject」,而不是 「ZwCreateDirectoryObject」。。
對於核心模式驅動程式的呼叫,Windows 原生系統服務例程的 NtXxx 和 ZwXxx 版本在處理和解譯輸入參數的方式可能會有不同的行為。 如需例程 NtXxx 和 ZwXxx 版本之間的關聯性詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs (storport) 、 PowerIrpDDis (wdm) |