FSCTL_ENUM_EXTERNAL_BACKING código de control
El código de control FSCTL_ENUM_EXTERNAL_BACKING comienza o continúa una enumeración de archivos en un volumen que tiene un origen de respaldo. Para cada finalización correcta de la solicitud, se devuelve un identificador para el archivo respaldado. Todos los archivos respaldados se enumeran independientemente del proveedor externo que lo respalda. Se requieren solicitudes de FSCTL_ENUM_EXTERNAL_BACKING sucesivas para enumerar todos los archivos respaldados en el volumen.
Para realizar esta operación, llame a FltFsControlFile o ZwFsControlFile con los parámetros siguientes.
Parámetros
Instancia [in]: FltFsControlFile solo. Puntero de instancia opaco para el autor de la llamada. Este parámetro es obligatorio y no puede ser NULL.
FileObject [in]: FltFsControlFile solo. Objeto de puntero de archivo que especifica el volumen que se va a desmontar. Este parámetro es obligatorio y no puede ser NULL.
FileHandle [in]: ZwFsControlFile solo. Identificador de archivo del volumen que se va a desmontar. Este parámetro es obligatorio y no puede ser NULL.
FsControlCode [in]: Código de control para la operación. Use FSCTL_ENUM_EXTERNAL_BACKING para esta operación.
InputBuffer [in]: None. Se establece en NULL.
InputBufferLength [in]: Establezca en 0.
OutputBuffer [out]: puntero al búfer de salida, que debe tener un tamaño lo suficientemente grande como para recibir una o varias estructuras WOF_EXTERNAL_FILE_ID .
OutputBufferLength [out]: Tamaño del búfer de salida al que apunta OutputBuffer. OutputBufferLength debe ser >= sizeof(WOF_EXTERNAL_FILE_ID).
LengthReturned [out]: especifica el número de bytes escritos en OutputBuffer al completarse correctamente.
Bloque de estado
FltFsControlFile o ZwFsControlFile devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, la función adecuada podría devolver uno de los siguientes valores NTSTATUS.
Código | Significado |
---|---|
STATUS_ACCESS_DENIED | El solicitante no tiene privilegios administrativos. |
STATUS_BUFFER_TOO_SMALL | La longitud del búfer de salida al que apunta OutputBuffer y especificada por OutputBufferLength es demasiado pequeña. |
STATUS_NO_MORE_FILES | No hay más archivos en el volumen que tengan un origen de respaldo. |
STATUS_INTERNAL_ERROR | No se puede acceder al volumen solicitado. |
STATUS_INVALID_DEVICE_REQUEST | El servicio de respaldo no está presente o no se ha iniciado. |
Comentarios
La estructura WOF_EXTERNAL_FILE_ID devuelta en OutputBuffer contiene identificadores de archivo únicos para los archivos respaldados. La estructura se define en ntifs.h como se indica a continuación.
typedef struct _WOF_EXTERNAL_FILE_ID {
FILE_ID_128 FileId;
} WOF_EXTERNAL_FILE_ID, *PWOF_EXTERNAL_FILE_ID;
Una solicitud de FSCTL_ENUM_EXTERNAL_BACKING se emite sucesivamente para recuperar los identificadores de cada archivo del volumen que tiene origen de respaldo. Cuando se enumeran todos los archivos, se devuelve el código de estado STATUS_NO_MORE_FILES.
Requisitos
Tipo de requisito | Requisito |
---|---|
Cliente mínimo compatible | Windows 8.1 Update |
Encabezado | Ntifs.h (incluya Ntifs.h o Fltkernel.h) |