FSCTL_ENUM_OVERLAY控制代码

FSCTL_ENUM_OVERLAY控制代码枚举指定卷的后备提供程序中的所有数据源。

若要执行此操作,请使用以下参数调用 FltFsControlFileZwFsControlFile

参数

  • 实例 [in]: 仅 FltFsControlFile 。 调用方不透明的实例指针。 此参数是必需的,不能为 NULL

  • FileObject [in]: FltFsControlFile only. 指定要卸载的卷的文件指针对象。 此参数是必需的,不能为 NULL

  • FileHandle [in]: 仅 ZwFsControlFile 。 要卸载的卷的文件句柄。 此参数是必需的,不能为 NULL

  • FsControlCode [in]:操作的控制代码。 对此操作使用 FSCTL_REMOVE_OVERLAY

  • InputBuffer [in]:指向输入缓冲区的指针,该缓冲区必须包含 WOF_EXTERNAL_INFO 结构。

  • InputBufferLength [in]:设置为 sizeof (WOF_EXTERNAL_INFO) 。

  • OutputBuffer [out]:指向输出缓冲区的指针,该缓冲区将接收支持卷的数据源的一个或多个 WIM_PROVIDER_OVERLAY_ENTRY 结构。

  • OutputBufferLength [out]: OutputBuffer 指向的缓冲区的大小(以字节为单位)。

  • LengthReturned [out]:指定成功完成时写入 OutputBuffer 的 字节数。

状态块

如果操作成功,FltFsControlFileZwFsControlFile 将返回STATUS_SUCCESS。 否则,相应的函数可能会返回以下 NTSTATUS 值之一。

代码 含义
STATUS_ACCESS_DENIED 请求者没有管理权限。
STATUS_BUFFER_TOO_SMALL OutputBuffer 指向并由 OutputBufferLength 指定的输出缓冲区的长度太小。
STATUS_INTERNAL_ERROR 请求的卷不可访问。
STATUS_INVALID_DEVICE_REQUEST 支持服务不存在或未启动。

注解

枚举 WIM 提供程序的数据源时,输出缓冲区将包含 WIM_PROVIDER_OVERLAY_ENTRY 结构的数组。 输出缓冲区的大小必须足够大,才能包含所有覆盖条目,否则调用将返回STATUS_BUFFER_TOO_SMALL。

其他支持提供程序将定义其自己的特定枚举结构。

要求

要求类型 要求
最低受支持的客户端 Windows 8.1 更新
标头 Ntifs.h (包括 Ntifs.hFltkernel.h)

另请参阅

FltFsControlFile

ZwFsControlFile

FSCTL_ADD_OVERLAY

WOF_EXTERNAL_INFO