Функция SccPopulateList
Эта функция обновляет список файлов для определенной команды управления версиями и предоставляет состояние системы управления версиями для всех указанных файлов.
Синтаксис
SCCRTN SccPopulateList (
LPVOID pvContext,
enum SCCCOMMAND nCommand,
LONG nFiles,
LPCSTR* lpFileNames,
POPLISTFUNC pfnPopulate,
LPVOID pvCallerData,
LPLONG lpStatus,
LONG fOptions
);
Параметры
pvContext
[in] Структура контекста подключаемого модуля управления версиями.
nCommand
[in] Команда системы управления версиями, которая будет применяться ко всем файлам в массиве lpFileNames
(см . код команды для списка возможных команд).
nFiles
[in] Количество файлов в массиве lpFileNames
.
lpFileNames
[in] Массив имен файлов, известных интегрированной среде разработки.
pfnPopulate
[in] Функция обратного вызова интегрированной среды разработки для вызова для добавления и удаления файлов (дополнительные сведения см. в разделе POPLISTFUNC ).
pvCallerData
[in] Значение, которое должно быть передано без изменений в функцию обратного вызова.
lpStatus
[in, out] Массив для подключаемого модуля управления версиями для возврата флагов состояния для каждого файла.
fOptions
[in] Флаги команд (дополнительные сведения см. в разделе "Заполнение списка флагов" Bitflags, используемых определенными командами ).
Возвращаемое значение
Реализация подключаемого модуля управления версиями этой функции должна возвращать одно из следующих значений:
значение | Описание |
---|---|
SCC_OK | Успешно. |
SCC_E_NONSPECIFICERROR | Неспецифический сбой. |
Замечания
Эта функция проверяет список файлов для текущего состояния. Она использует pfnPopulate
функцию обратного вызова для уведомления вызывающего пользователя, если файл не соответствует критериям.nCommand
Например, если команда и SCC_COMMAND_CHECKIN
файл в списке не проверка отключен, обратный вызов используется для информирования вызывающего абонента. Иногда подключаемый модуль управления версиями может найти другие файлы, которые могут быть частью команды и добавлять их. Это позволяет, например, пользователю Visual Basic проверка файл BMP, который используется его проектом, но не отображается в файле проекта Visual Basic. Пользователь выбирает команду Get в интегрированной среде разработки. Интегрированная среда разработки отобразит список всех файлов, которые он считает, что пользователь может получить, но перед отображением списка вызывается функция, чтобы убедиться, SccPopulateList
что список будет отображаться в актуальном состоянии.
Пример
Интегрированная среда разработки создает список файлов, которые он считает, что пользователь может получить. Перед отображением этого списка он вызывает SccPopulateList
функцию, предоставляя подключаемый модуль управления версиями возможность добавлять и удалять файлы из списка. Подключаемый модуль изменяет список путем вызова данной функции обратного вызова (дополнительные сведения см. в разделе POPLISTFUNC ).
Подключаемый модуль продолжает вызывать pfnPopulate
функцию, которая добавляет и удаляет файлы, пока не завершится, а затем возвращается из SccPopulateList
функции. Затем интегрированная среда разработки может отобразить свой список. Массив lpStatus
представляет все файлы в исходном списке, переданном интегрированной интегрированной среде разработки. Подключаемый модуль заполняет состояние всех этих файлов в дополнение к использованию функции обратного вызова.
Примечание.
Подключаемый модуль управления версиями всегда имеет возможность просто вернуться сразу из этой функции, оставив список как есть. Если подключаемый модуль реализует эту функцию, он может указать это, задав SCC_CAP_POPULATELIST
битовую задержку возможности в первом вызове SccInitialize. По умолчанию подключаемый модуль всегда должен предполагать, что все элементы, передаваемые в них, являются файлами. Однако если интегрированная среда разработки задает SCC_PL_DIR
флаг в fOptions
параметре, все передаваемые элементы должны считаться каталогами. Подключаемый модуль должен добавить все файлы, принадлежащие каталогам. Интегрированная среда разработки никогда не будет передаваться в сочетании файлов и каталогов.