FSCTL_ADD_OVERLAY控制代码

FSCTL_ADD_OVERLAY控制代码将新的外部支持源添加到卷的命名空间中。 此支持源可以是 Windows 图像格式 (WIM) 文件。

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

参数

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

  • FileObject: [in]: FltFsControlFile 。 向其添加覆盖层的卷的文件指针对象。 此参数是必需的,不能为 NULL。

  • FileHandle [in]: ZwFsControlFile 。 向其添加覆盖层的卷的句柄。 此参数是必需的,不能为 NULL。

  • FsControlCode [in]:作的控件代码。 对此作使用 FSCTL_ADD_OVERLAY

  • InputBuffer [in]:指向输入缓冲区的指针,该缓冲区必须包含 WOF_EXTERNAL_INFO 结构。 如果需要, WOF_EXTERNAL_INFO后立即包含其他提供程序特定的数据。

  • InputBufferLength [in]:设置为 sizeof(WOF_EXTERNAL_INFO)加上任何其他提供程序输入数据的大小。

  • OutputBuffer [out]:指向输出缓冲区的指针,其中包含添加作中的任何结果信息。

  • OutputBufferLength [out]: OutputBuffer 指向的缓冲区的大小。

状态块

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

Code 含义
访问被拒绝 请求者没有管理权限。
STATUS_BUFFER_TOO_SMALL OutputBuffer 指向的输出缓冲区的长度(由 OutputBufferLength 指定)太小。
内部错误状态 请求的卷不可访问。
STATUS_INVALID_DEVICE_REQUEST 支持服务不存在或未启动。

注解

添加的后盾源是 Windows 映像格式(WIM)文件时,输入缓冲区将包含 WOF_EXTERNAL_INFO 结构,后跟 WIM_PROVIDER_ADD_OVERLAY_INPUT 结构。 在本例中 ,InputBufferLength 将为 sizeofWOF_EXTERNAL_INFO) + sizeofWIM_PROVIDER_ADD_OVERLAY_INPUT)。 完成请求后, OutputBuffer 指向的数据包含单个LARGE_INTEGER值,该值是 WIM 文件的新数据源标识符。

其他后盾提供程序将定义自己的特定输入参数结构和输出数据类型。

要求

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

另请参阅

FSCTL_REMOVE_OVERLAY

FSCTL_SUSPEND_OVERLAY

FSCTL_UPDATE_OVERLAY

FSCTL_GET_EXTERNAL_BACKING

FSCTL_SET_EXTERNAL_BACKING