Поделиться через


код элемента управления 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_BUFFER_TOO_SMALL Длина буфера вывода, на которую указывает OutputBuffer , и указанная OutputBufferLength , слишком мала.
STATUS_NO_MORE_FILES В томе нет дополнительных файлов с источником резервного копирования.
СТАТУС_ВНУТРЕННЯЯ_ОШИБКА Запрошенный том недоступен.
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)

См. также

FltFsControlFile

ZwFsControlFile

FSCTL_GET_EXTERNAL_BACKING