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之前,调用方必须成功调用 IoCheckLinkShareAccessUpdate 设置为 False。 此类调用 IoCheckLinkShareAccess 确定请求的共享访问是否与文件对象当前被其他打开访问的方式兼容,但它不会更新 SHARE_ACCESS 结构。 IoUpdateLinkShareAccess 实际上更新与文件对象关联的 SHARE_ACCESS 结构。

要求

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

另请参阅

IoCheckLinkShareAccess

IoRemoveLinkShareAccess

IoSetLinkShareAccess