Флаги для указания поведения при передаче заполнителя файла или каталога.
Синтаксис
typedef enum CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS {
CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_NONE = 0x00000000,
CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_STOP_ON_ERROR = 0x00000001,
CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_DISABLE_ON_DEMAND_POPULATION = 0x00000002
} ;
Constants
| |
CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_NONE Значение: 0x00000000 Флаги заполнителя передачи не передаются. |
CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_STOP_ON_ERROR Значение: 0x00000001 Вызывает немедленное возвращение API, если передача заполнителя завершается ошибкой. Если передача завершается ошибкой, код ошибки будет возвращен. |
CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_DISABLE_ON_DEMAND_POPULATION Значение: 0x00000002 Отключает население по запросу для каталога, предотвращая дальнейшие CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS обратных вызовов.
ВАЖНЫЙ Без этого флага обратный вызов заполнителей передачи будет вызываться многократно (потенциально 100+ раз), так как система продолжает запрашивать заполнители по запросу. Поставщики должны задать этот флаг, чтобы указать, что все заполнители были созданы, и дальнейшие обратные вызовы не требуются.
Когда поставщик завершит создание всех заполнителей в каталоге, он должен пометить каталог как полностью заполненный, задав флаг CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_DISABLE_ON_DEMAND_POPULATION . Это предотвращает повторное вызов CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS обратного вызова для этого каталога. Как правило, поставщик должен задать этот флаг после того, как он положил все заполнители в каталоге, или если текущий вызов CF_OPERATION_TYPE_TRANSFER_PLACEHOLDERS должен создать все остальные заполнители.
Поставщик может задать этот флаг в любое время, и он будет учитываться платформой, если во время текущего вызова CF_OPERATION_TYPE_TRANSFER_PLACEHOLDERS:
1. TransferPlaceholders.PlaceholderTotalCount<= (сумма предыдущего TransferPlaceholders.EntriesProcessed) + текущий TransferPlaceholders.PlaceholderCount. 1. Все текущие TransferPlaceholders.PlaceholderCount заполнители успешно созданы.
Например, если поставщик должен передать десять заполнителей, он может передать и задать CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_DISABLE_ON_DEMAND_POPULATION одним из следующих способов.
Это может сделать:
1. Задать,4TransferPlaceholders.PlaceholderCount = задать = 5TransferPlaceholders.PlaceholderTotalCount и задать значение .FlagsNONE 1. Задать,4TransferPlaceholders.PlaceholderCount = задать = 9TransferPlaceholders.PlaceholderTotalCount и задать значение .FlagsNONE 1. Задать,2TransferPlaceholders.PlaceholderCount = задать = 11TransferPlaceholders.PlaceholderTotalCount и задать значение .FlagsNONE 1. Задать,0TransferPlaceholders.PlaceholderCount = задать = 10TransferPlaceholders.PlaceholderTotalCount и задать значение .FlagsCF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_DISABLE_ON_DEMAND_POPULATION
Или это может сделать следующее:
1. Задать,4TransferPlaceholders.PlaceholderCount = задать = 5TransferPlaceholders.PlaceholderTotalCount и задать значение .FlagsNONE 1. Задать,4TransferPlaceholders.PlaceholderCount = задать = 9TransferPlaceholders.PlaceholderTotalCount и задать значение .FlagsNONE 1. Задать,2TransferPlaceholders.PlaceholderCount = задать = 10TransferPlaceholders.PlaceholderTotalCount и задать значение .FlagsCF_OPERATION_TRANSFER_PLACEHOLDERS_FLAG_DISABLE_ON_DEMAND_POPULATION |
Требования
| Требование |
Ценность |
|
Минимальный поддерживаемый клиент |
Windows 10 версии 1709 [только классические приложения] |
|
минимальный поддерживаемый сервер |
Windows Server 2016 [только классические приложения] |
|
Header |
cfapi.h |
См. также
CF_CALLBACK_TYPE
CF_OPERATION_TYPE
CfExecute