Функция CfGetTransferKey (cfapi.h)
CfGetTransferKey возвращает transferKey, который необходим для инициации передачи данных в заполнитель с помощью API CfExecute .
Синтаксис
HRESULT CfGetTransferKey(
[in] HANDLE FileHandle,
[out] CF_TRANSFER_KEY *TransferKey
);
Параметры
[in] FileHandle
Дескриптор файла заполнителя.
[out] TransferKey
Непрозрачный дескриптор заполнителя для обслуживания.
Возвращаемое значение
Если эта функция завершается успешно, она возвращает .S_OK
В противном случае возвращается код ошибки HRESULT .
Комментарии
Этот API доступен для поставщиков синхронизации, которые могут захотеть заранее инициировать передачу данных в заполнитель в качестве альтернативы вызову CfHydratePlaceholder. CfGetTransferKey возвращает тот же ключ TransferKey , который был бы возвращен обратным вызовом выборки данных. Затем поставщик синхронизации может передать TransferKey в последующих вызовах API CfExecute . Таким образом, передача данных управляется поставщиком синхронизации, а не фильтром.
Поставщик синхронизации должен иметь READ_DATA или WRITE_DAC доступ к файлу, ключ передачи которого необходимо получить, в противном случае cfGetTransferKey завершится ошибкой HRESULT(ERROR_CLOUD_FILE_ACCESS_DENIED).
TransferKey действителен до тех пор, пока файл FileHandle, используемый для его получения, остается открытым. Поставщик синхронизации должен передать TransferKeyв CfExecute , чтобы выполнить нужную операцию с файлом-заполнителем или папкой. Если transferKey больше не используется, его необходимо освободить с помощью CfReleaseTransferKey.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1709 [только классические приложения] |
Минимальная версия сервера | Windows Server 2016 [только классические приложения] |
Целевая платформа | Windows |
Header | cfapi.h |
Библиотека | CldApi.lib |
DLL | CldApi.dll |