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


Функция 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

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

CfHydratePlaceholder

CfExecute

CfReleaseTransferKey