ioCheckShareAccessEx 函数 (wdm.h)
IoCheckShareAccessEx 例程由文件系统驱动程序 (FSD) 或其他最高级别驱动程序调用,以检查是否允许共享访问文件对象。
语法
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
为当前打开的请求指定对文件对象的所需共享访问类型。 此参数的值通常与在发出打开请求时由 I/O 管理器传递给文件系统或最高级别驱动程序的 ShareAccess 参数相同。 此值可以是零,也可以是以下任意组合:
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 |
Library | Ntoskrnl.lib |