FSCTL_ENUM_OVERLAY control code

The FSCTL_ENUM_OVERLAY control code enumerates all the data sources from a backing provider for a specified volume.

To perform this operation, call FltFsControlFile or ZwFsControlFile with the following parameters.

Parameters

  • Instance [in]: FltFsControlFile only. Opaque instance pointer for the caller. This parameter is required and cannot be NULL.

  • FileObject [in]: FltFsControlFile only. The file pointer object specifying the volume to be dismounted. This parameter is required and cannot be NULL.

  • FileHandle [in]: ZwFsControlFile only. The file handle of the volume to be dismounted. This parameter is required and cannot be NULL.

  • FsControlCode [in]: Control code for the operation. Use FSCTL_REMOVE_OVERLAY for this operation.

  • InputBuffer [in]: A pointer to the input buffer, which must contain a WOF_EXTERNAL_INFO structure.

  • InputBufferLength [in]: Set to sizeof(WOF_EXTERNAL_INFO).

  • OutputBuffer [out]: Pointer to an output buffer which will receive one or more WIM_PROVIDER_OVERLAY_ENTRY structures for data sources backing the volume.

  • OutputBufferLength [out]: Size of the buffer pointed to by OutputBuffer, in bytes.

  • LengthReturned [out]: Specifies the number of bytes written into OutputBuffer on successful completion.

Status block

FltFsControlFile or ZwFsControlFile returns STATUS_SUCCESS if the operation succeeds. Otherwise, the appropriate function might return one of the following NTSTATUS values.

Code Meaning
STATUS_ACCESS_DENIED The requestor does not have administrative privileges.
STATUS_BUFFER_TOO_SMALL The length of the output buffer pointed to by OutputBuffer and specified by OutputBufferLength is too small.
STATUS_INTERNAL_ERROR The requested volume is not accessible.
STATUS_INVALID_DEVICE_REQUEST The backing service is not present or not started.

Remarks

When enumerating the data sources for the WIM provider, the output buffer will contain an array of WIM_PROVIDER_OVERLAY_ENTRY structures. The size of the output buffer must be large enough to contain all the overlay entries or the call will return STATUS_BUFFER_TOO_SMALL.

Additional backing providers will define their own specific enumeration structures.

Requirements

Requirement type Requirement
Minimum supported client Windows 8.1 Update
Header Ntifs.h (include Ntifs.h or Fltkernel.h)

See also

FltFsControlFile

ZwFsControlFile

FSCTL_ADD_OVERLAY

WOF_EXTERNAL_INFO