функция обратного вызова PRJ_GET_FILE_DATA_CB (projectedfslib.h)
Запрашивает содержимое основного потока данных файла.
Синтаксис
PRJ_GET_FILE_DATA_CB PrjGetFileDataCb;
HRESULT PrjGetFileDataCb(
[in] const PRJ_CALLBACK_DATA *callbackData,
[in] UINT64 byteOffset,
[in] UINT32 length
)
{...}
Параметры
[in] callbackData
Сведения об операции. Для реализации этого обратного вызова необходимы следующие члены callbackData :
- FilePathName Определяет путь к файлу в резервном хранилище поставщика, для которого должны возвращаться данные. Обратите внимание, что оно отражает имя файла при первом создании заполнителя. Если он был переименован с тех пор, FilePathName определяет исходное (предварительное переименование) имя, а не текущее (после переименования).
- DataStreamIdУникальное значение, которое необходимо связать с данным потоком файлов. Поставщик должен передать это значение в параметре dataStreamIdprjWriteFileData при предоставлении данных файла в рамках обработки этого обратного вызова.
- VersionInfo Предоставляет PRJ_PLACEHOLDER_VERSION_INFO сведения, предоставленные поставщиком при создании заполнителя для этого файла. Это может помочь поставщику определить, какую версию содержимого файла следует вернуть. Если файл был переименован, а поставщик отслеживает переименование, это также может помочь поставщику определить, какое содержимое файла запрашивается.
Поставщик может получить доступ к этому буферу только во время выполнения обратного вызова. Если требуется выполнить операцию и ей требуются данные из этого буфера, необходимо создать ее собственную копию.
[in] byteOffset
Смещение запрошенных данных в байтах от начала файла. Поставщик должен возвращать данные файла, начиная с или до этого смещения.
[in] length
Количество байтов запрошенных данных файла. Поставщик должен возвращать по крайней мере это количество байт файловых данных, начиная с byteOffset.
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Поставщик успешно вернул все запрошенные данные. |
|
Поставщик хочет завершить операцию позже. |
Соответствующий код ошибки HRESULT, если поставщик не выполняет операцию.
Комментарии
Когда ProjFS получает данные, он записывает их в файл, чтобы преобразовать их в гидратированный заполнитель.
Для обработки этого обратного вызова поставщик выполняет один или несколько вызовов PrjWriteFileData , чтобы предоставить ProjFS запрошенное содержимое основного потока данных файла. Затем поставщик завершает обратный вызов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10, версия 1809 [только классические приложения] |
Минимальная версия сервера | Windows Server [только классические приложения] |
Целевая платформа | Windows |
Header | projectedfslib.h |