код элемента управления FSCTL_ENUM_EXTERNAL_BACKING
Код элемента управления FSCTL_ENUM_EXTERNAL_BACKING начинает или продолжает перечисление файлов в томе с резервным источником. При каждом успешном выполнении запроса возвращается идентификатор файла с резервной копией. Все резервные файлы перечисляются независимо от того, какой внешний поставщик их поддерживает. Для перечисления всех резервных файлов на томе требуются последовательные запросы FSCTL_ENUM_EXTERNAL_BACKING .
Для выполнения этой операции вызовите FltFsControlFile или ZwFsControlFile со следующими параметрами.
Параметры
Экземпляр [in]: только FltFsControlFile . Указатель непрозрачного экземпляра для вызывающего объекта. Этот параметр является обязательным и не может иметь значение NULL.
FileObject [in]: только FltFsControlFile . Объект указателя файла, указывающий том для отключения. Этот параметр является обязательным и не может иметь значение NULL.
FileHandle [in]: только ZwFsControlFile . Дескриптор файла тома для отключения. Этот параметр является обязательным и не может иметь значение NULL.
FsControlCode [in]: управляющий код для операции. Используйте FSCTL_ENUM_EXTERNAL_BACKING для этой операции.
InputBuffer [in]: нет. Задайте значение NULL.
InputBufferLength [in]: задайте значение 0.
OutputBuffer [out]: указатель на выходной буфер, размер которого должен быть достаточно большим, чтобы получить одну или несколько WOF_EXTERNAL_FILE_ID структур.
OutputBufferLength [out]: размер выходного буфера, на который указывает OutputBuffer. OutputBufferLength должен иметь значение >= sizeof(WOF_EXTERNAL_FILE_ID).
LengthReturned [out]: указывает количество байтов, записанных в OutputBuffer при успешном завершении.
Блок состояния
FltFsControlFile или ZwFsControlFile возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае соответствующая функция может вернуть одно из следующих значений NTSTATUS.
Код | Значение |
---|---|
STATUS_ACCESS_DENIED | Инициатор запроса не имеет прав администратора. |
STATUS_BUFFER_TOO_SMALL | Длина выходного буфера, на который указывает OutputBuffer и указан параметр OutputBufferLength , слишком мала. |
STATUS_NO_MORE_FILES | Файлы на томе больше не имеют резервного источника. |
STATUS_INTERNAL_ERROR | Запрошенный том недоступен. |
STATUS_INVALID_DEVICE_REQUEST | Резервная служба отсутствует или не запущена. |
Комментарии
Структура WOF_EXTERNAL_FILE_ID , возвращаемая в OutputBuffer , содержит уникальные идентификаторы файлов с резервным копированием. Структура определяется в файле ntifs.h следующим образом.
typedef struct _WOF_EXTERNAL_FILE_ID {
FILE_ID_128 FileId;
} WOF_EXTERNAL_FILE_ID, *PWOF_EXTERNAL_FILE_ID;
Запрос FSCTL_ENUM_EXTERNAL_BACKING отправляется последовательно, чтобы получить идентификаторы для каждого файла на томе с резервным источником. При перечислении всех файлов возвращается код состояния STATUS_NO_MORE_FILES.
Требования
Тип требования | Требование |
---|---|
Минимальная версия клиента | Windows 8.1 с обновлением |
Заголовок | Ntifs.h (включая Ntifs.h или Fltkernel.h) |