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 的共享文件对象,以防止共享访问计数损坏。

调用 IoUpdateShareAccess 之前,调用方必须在 Update 设置为 False 的情况下成功调用 IoCheckShareAccess。 对 IoCheckShareAccess 的此类调用确定请求的共享访问是否与当前由其他打开访问文件对象的方式兼容,但它不会更新 SHARE_ACCESS 结构。 IoUpdateShareAccess 实际上更新与文件对象关联的 SHARE_ACCESS 结构。

要求

   
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) IrqlIoPassive5 (wdm) PowerIrpDDis (wdm)

另请参阅

IoCheckShareAccess

IoRemoveShareAccess

IoSetShareAccess