IoCheckShareAccessEx 函式 (wdm.h)
IoCheckShareAccessEx 例程是由文件系統驅動程式 (FSD) 或其他最高層級驅動程式呼叫,以檢查是否允許共用存取檔案物件。
語法
NTSTATUS IoCheckShareAccessEx(
[in] ACCESS_MASK DesiredAccess,
[in] ULONG DesiredShareAccess,
[in, out] PFILE_OBJECT FileObject,
[in, out] PSHARE_ACCESS ShareAccess,
[in] BOOLEAN Update,
[in] PBOOLEAN WritePermission
);
參數
[in] DesiredAccess
指定 ACCESS_MASK 值,這個值表示指定檔案物件之存取所需的類型。
[in] DesiredShareAccess
指定目前開啟要求之檔案對象的共用存取所需的類型。 此參數的值通常與在提出開啟要求時傳遞至文件系統或最高層級驅動程式的 ShareAccess 參數相同。 此值可以是零,或下列任何組合:
FILE_SHARE_READ
FILE_SHARE_WRITE
FILE_SHARE_DELETE
[in, out] FileObject
要檢查目前開啟要求的存取權之檔案物件的指標。
[in, out] ShareAccess
與 FileObject 相關聯的通用共用存取數據結構的指標。 驅動程式應將此結構視為不透明。
[in] Update
指定是否要更新 FileObject 的共用存取狀態。 TRUE 的布爾 值表示如果允許開啟要求,此例程將會更新檔案對象的共用存取資訊。
[in] WritePermission
指定共用存取權是否具有寫入許可權。 如果共用具有寫入許可權,則此值為TRUE;否則為 FALSE。 如果值為 FALSE,且共用存取權具有寫入許可權,且呼叫端嘗試取得獨佔讀取許可權,則寫入許可權會降級為FILE_SHARE_READ。 如果未在共用存取上完成寫入許可權檢查,這個值為NULL。
傳回值
如果要求者的檔案物件的存取與目前開啟的方式相容, IoCheckShareAccessEx 例程會傳回STATUS_SUCCESS。 如果因為共用違規而拒絕要求,則會傳回STATUS_SHARING_VIOLATION。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows 7 和更新版本的 Windows 中使用。 |
目標平台 | Universal |
標頭 | wdm.h |
程式庫 | Ntoskrnl.lib |