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


код элемента управления 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)

См. также раздел

FltFsControlFile

ZwFsControlFile

FSCTL_GET_EXTERNAL_BACKING