FSCTL_ENUM_OVERLAY控制代码枚举指定卷的后盾提供程序中的所有数据源。
若要执行此操作,请使用以下参数调用 FltFsControlFile 或 ZwFsControlFile。
参数
实例 [in]: 仅 FltFsControlFile 。 调用方不透明实例指针。 此参数是必需的,不能 NULL。
FileObject [in]: FltFsControlFile 。 指定要卸载的卷的文件指针对象。 此参数是必需的,不能 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 中的字节数。
状态块
如果作成功,FltFsControlFile 或 ZwFsControlFile 将返回STATUS_SUCCESS。 否则,相应的函数可能会返回以下 NTSTATUS 值之一。
| Code | 含义 |
|---|---|
| 访问被拒绝 | 请求者没有管理权限。 |
| STATUS_BUFFER_TOO_SMALL | OutputBuffer 指向的输出缓冲区的长度,由 OutputBufferLength 指定的长度太小。 |
| 内部错误状态 | 请求的卷不可访问。 |
| STATUS_INVALID_DEVICE_REQUEST | 支持服务不存在或未启动。 |
注解
枚举 WIM 提供程序的数据源时,输出缓冲区将包含 WIM_PROVIDER_OVERLAY_ENTRY 结构的数组。 输出缓冲区的大小必须足够大,才能包含所有覆盖项,否则调用将返回STATUS_BUFFER_TOO_SMALL。
其他后盾提供程序将定义其自己的特定枚举结构。
要求
| 要求类型 | 要求 |
|---|---|
| 支持的最低客户端 | Windows 8.1 更新 |
| 标题 | Ntifs.h (包括 Ntifs.h 或 Fltkernel.h) |