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


Функция 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 параметре, все передаваемые элементы должны считаться каталогами. Подключаемый модуль должен добавить все файлы, принадлежащие каталогам. Интегрированная среда разработки никогда не будет передаваться в сочетании файлов и каталогов.

См. также