ioUpdateShareAccess 函式 (wdm.h)

IoUpdateShareAccess 例程會更新指定檔案對象的共用存取權,通常是開啟檔案時。

語法

void IoUpdateShareAccess(
  [in]      PFILE_OBJECT  FileObject,
  [in, out] PSHARE_ACCESS ShareAccess
);

參數

[in] FileObject

參考檔案物件的指標,代表要更新共用存取權的檔案或相關聯的裝置物件。

[in, out] ShareAccess

FileObject 相關聯之通用SHARE_ACCESS結構的指標。 驅動程式應該將此結構視為不透明。

傳回值

備註

IoUpdateShareAccess 不是不可部分完成的作業。 因此,呼叫此例程的驅動程式必須保護傳遞至 IoUpdateShareAccess 的共用檔案物件,方法是使用某種鎖定,例如Mutex或資源鎖定,以避免共用存取計數損毀。

呼叫 IoUpdateShareAccess之前,呼叫端必須成功呼叫 IoCheckShareAccess並將Update 設定為 False。 對 IoCheckShareAccess 的這類呼叫會判斷所要求的共用存取是否與檔案物件目前由其他開啟存取的方式相容,但不會更新SHARE_ACCESS結構。 IoUpdateShareAccess 實際上會更新與檔案對象相關聯的 SHARE_ACCESS 結構。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDDIs (storport) IrqlIoPassive5 (wdm) PowerIrpDDis (wdm)

另請參閱

IoCheckShareAccess

IoRemoveShareAccess

IoSetShareAccess