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


Функция CfSetPinState (cfapi.h)

Эта функция задает состояние закрепления заполнителя, представляющего намерение пользователя. Любое приложение, а не только поставщик синхронизации, может вызывать эту функцию.

Синтаксис

HRESULT CfSetPinState(
  [in]                HANDLE           FileHandle,
  [in]                CF_PIN_STATE     PinState,
  [in]                CF_SET_PIN_FLAGS PinFlags,
  [in, out, optional] LPOVERLAPPED     Overlapped
);

Параметры

[in] FileHandle

Дескриптор заполнителя. Платформа правильно синхронизирует операцию с другими активными запросами. Атрибут или дескриптор без доступа достаточно. Вызывающий объект должен иметь READ_DATA или WRITE_DAC доступ к заполнителю. В противном случае операция завершается ошибкой с STATUS_CLOUD_FILE_ACCESS_DENIED.

[in] PinState

Состояние закрепления файла заполнителя. Список допустимых значений PinState см. в CF_PIN_STATE.

[in] PinFlags

Флаги состояния закреплений. Задайте для PinFlags одно из следующих значений:

  • Если указать CF_SET_PIN_FLAG_RECURSE, платформа применяет состояние закрепления к FileHandle и каждому файлу рекурсивно под ним. Этот флаг имеет значение, только если FileHandle является дескриптором каталога.
  • Если указать CF_SET_PIN_FLAG_RECURSE_ONLY, платформа применяет состояние пин-кода к каждому файлу рекурсивно под FileHandle, но не к файлу FileHandle .
  • Если указать CF_SET_PIN_FLAG_RECURSE_STOP_ON_ERROR, платформа останавливает рекурсию при возникновении первой ошибки. В противном случае платформа пропускает ошибку и продолжает рекурсию.

Используйте CF_SET_PIN_FLAG_NONE , чтобы не указывать флаги.

[in, out, optional] Overlapped

Позволяет выполнять вызов асинхронно. Дополнительные сведения см. в разделе "Примечания ".

Возвращаемое значение

Если эта функция выполнена успешно, она возвращается S_OK. В противном случае возвращается код ошибки HRESULT .

Замечания

При указании и объединении асинхронного файла FileHandle с Overlapped платформа может выполнять вызов асинхронно.

Необходимо инициализировать перекрываемую структуру с событием, чтобы ждать. Если эта функция возвращает HRESULT_FROM_WIN32(ERROR_IO_PENDING), можно ждать с помощью GetOverlappedResult. Если этот параметр не указан, платформа выполняет вызов API синхронно независимо от того, как вы создали дескриптор.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 10 версии 1709 [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2016 [только классические приложения]
целевая платформа Виндоус
Header cfapi.h
Library CldApi.lib
DLL CldApi.dll

См. также

GetOverlappedResult

CF_PIN_STATE

CF_SET_PIN_FLAGS