IoUpdateLinkShareAccess 函数 (wdm.h)

IoUpdateLinkShareAccess 例程更新给定文件对象的共享访问,通常在打开文件时。

语法

void IoUpdateLinkShareAccess(
  [in]                PFILE_OBJECT       FileObject,
  [in, out]           PSHARE_ACCESS      ShareAccess,
  [in, out, optional] PLINK_SHARE_ACCESS LinkShareAccess
);

参数

[in] FileObject

指向文件对象的指针,该文件对象通常由当前线程关闭。

[in, out] ShareAccess

指向与 FileObject 关联的通用共享访问数据结构的指针。 驱动程序应将此结构视为不透明结构。

[in, out, optional] LinkShareAccess

指向与 FileObject 关联的公共链接共享访问数据结构的指针 (LINK_SHARE_ACCESS) 。 驱动程序应将此结构视为不透明结构。

返回值

备注

IoUpdateLinkShareAccess 不是原子操作。 因此,调用此例程的驱动程序必须通过某种锁(例如互斥锁或资源锁)来保护传递给 IoUpdateLinkShareAccess 的共享文件对象,以防止共享访问计数损坏。

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

要求

要求
最低受支持的客户端 Windows 10 版本 1709
最低受支持的服务器 Windows Server 2016
目标平台 通用
标头 wdm.h
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

另请参阅

IoCheckLinkShareAccess

IoRemoveLinkShareAccess

IoSetLinkShareAccess