структура FSCTL_OFFLOAD_READ_OUTPUT (ntifs.h)

Структура FSCTL_OFFLOAD_READ_OUTPUT содержит выходные данные для запроса кода FSCTL_OFFLOAD_READ элемента управления.

Синтаксис

typedef struct _FSCTL_OFFLOAD_READ_OUTPUT {
  ULONG     Size;
  ULONG     Flags;
  ULONGLONG TransferLength;
  UCHAR     Token[512];
} FSCTL_OFFLOAD_READ_OUTPUT, *PFSCTL_OFFLOAD_READ_OUTPUT;

Члены

Size

Размер этой структуры. Задайте для этого элемента значение размера(FSCTL_OFFLOAD_READ_OUTPUT).

Flags

Флаги результатов. Это побитовое значение ИЛИ сочетания следующих значений:

Ценность Значение
OFFLOAD_READ_FLAG_FILE_TOO_SMALL
0x00000001
Файл для чтения слишком мал для операции разгрузки.
OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_CURRENT_RANGE
0x00000002
Диапазон, расширяющийся за пределами выбранного диапазона, содержит все нули.
OFFLOAD_READ_FLAG_CANNOT_OFFLOAD_BEYOND_CURRENT_RANGE
0x00000004
Операция разгрузки не может завершиться за пределами выбранного диапазона. Для выполнения операции следует использовать незагруженный метод чтения.

TransferLength

Длина данных в байтах, представленных маркера.

Token[512]

Массив байтов, содержащий структуру токенов, STORAGE_OFFLOAD_TOKEN, представляющий данные файла в диапазоне, указанном в FSCTL_OFFLOAD_READ_INPUT. Содержимое токена должно оставаться неизмененным между операциями разгрузки.

Замечания

Если операция FSCTL_OFFLOAD_READ выполнена успешно, поставщик копирования устройства хранилища возвращается в FSCTL_OFFLOAD_READ_OUTPUT, уникальное значение маркера, определяющее часть считываемых данных файла.

Поставщик копирования сохраняет данные для чтения в течение TokenTimeToLive члена структуры FSCTL_OFFLOAD_READ_INPUT.

маркера представляет смежный регион файла, начинающийся с запрошенного смещения в fileOffset члена FSCTL_OFFLOAD_READ_INPUT. Полученная длина скопирована, TransferLength, может быть меньше, чем то, что было первоначально указано в элементе CopyLengthFSCTL_OFFLOAD_READ_INPUT. Меньшее значение указывает, что токена смог логически представлять меньше данных, чем запрошено.

Если меньше данных, чем запрошено, операция чтения может быть завершена путем выполнения другого запроса FSCTL_OFFLOAD_READ. Следующий запрос использует обновленный элемент FileOffset в структуре FSCTL_OFFLOAD_READ_INPUT со значением в TransferLength и скорректированной длиной чтения предыдущей длины минус значение в TransferLength. Кроме того, незавершенная операция чтения может выполняться с помощью незагрузочного метода чтения, например с помощью подпрограммы ZwReadFile.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8.
заголовка ntifs.h (include Ntifs.h, Fltkernel.h)

См. также

FSCTL_OFFLOAD_READ

FSCTL_OFFLOAD_READ_INPUT

STORAGE_OFFLOAD_TOKEN