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 |