共用方式為


IoCheckShareAccessEx 函式 (wdm.h)

IoCheckShareAccessEx 例程是由文件系統驅動程式 (FSDs) 或其他最高層級驅動程式呼叫,以檢查是否允許共用存取檔案物件。

語法

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 參數相同,參數會在提出開啟要求時由 I/O 管理員傳遞至文件系統或最高層級驅動程式。 此值可以是零,或下列任何組合:

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。
目標平臺 普遍
標頭 wdm.h
連結庫 Ntoskrnl.lib

另請參閱

I/O 管理員例程