Функция SccAddFromScc
Эта функция позволяет пользователю просматривать для файлов, которые уже в системе системы управления версиями, а затем выполнить те части файла текущего проекта. Например, эта функция может получить общий файл заголовка в текущий проект без копирования файла. Возвращенный массив файлов lplpFileNames, содержащий список файлов, которые пользователь желает добавить в проект среды разработки.
SCCRTN SccAddFromScc (
LPVOID pvContext,
HWND hWnd,
LPLONG lpnFiles,
LPCSTR** lplpFileNames
);
Параметры
pvContext
[in] структура контекста системы управления версиями подключаемых модулей.hWnd
[in] маркер а в окно интегрированной среды разработки, подключаемый модуль системы управления версиями может использоваться как родительский для всех диалоговых окон, которые он содержит.lpnFiles
[in, out] буфер для количества файлов, добавить. (Это NULL если память указала к которым следуют lplpFileNames освобождение. См. примечания.)lplpFileNames
[in, out] массив указателей на всем именам файлов без пути к каталогу. Этот массив установлен и освобождается подключаемым модулем системы управления версиями. If lpnFiles = 1 lplpFileNames нет NULLимя массива указало к которым следуют lplpFileNames содержит папку назначения.
Возвращаемое значение
Предполагается, что возвращает реализация подключаемых модулей системы управления версиями этой функции одно из следующих значений:
Значение |
Описание |
---|---|
SCC_OK |
Файлы были успешно найдены и были добавлены к проекту. |
SCC_I_OPERATIONCANCELED |
Операция отменена не имеет эффекта. |
SCC_I_RELOADFILE |
Файл или проект должен быть перезагруженным. |
Заметки
Интегрированная среда разработки вызывает данную функцию. Если подключаемый модуль системы управления версиями поддерживают указание локальную конечную папку, интегрированная среда разработки передает lpnFiles = 1 и передает имя папки в локальную lplpFileNames.
Если вызов SccAddFromScc функция вернет, подключаемый модуль присвоила значения lpnFiles и lplpFileNamesвыбрать память для массива имени файла по мере необходимости (обратите внимание, что это распределение заменяет указатель in lplpFileNames). Подключаемый модуль системы управления версиями отвечает за установление все файлы в каталоге пользователя или в указанной папке обозначения. Интегрированная среда разработки затем добавить файлы в проект среды разработки.
Наконец, интегрированная среда разработки эта функция вызывается во второй раз, указав in NULL для lpnFiles. Это интерпретируется как особый сигнала подключаемым модулем системы управления версиями освободить память, выделенная для массива имен файлов в lplpFileNames.
lplpFileNames a char *** указатель. Подключаемый модуль системы управления версиями устанавливает указатель на массив указателей на имена файлов, таким образом передавая список в стандартном образом для данного API.
Примечание
Исходные варианты VSSCI предоставленных API не способ отображения проект целевого объекта для добавленных файлов.Это семантика размещения lplpFIleNames параметр были улучшены, чтобы сделать его параметр in/out, а не параметр вывода.Если указан только один файл, т е значение, указанное в by lpnFiles = 1, затем первый элемент lplpFileNames содержит себя начальную папку.Чтобы использовать эти новые семантики, интегрированная среда разработки вызывает SccSetOption функция заменена nOptionнабор параметров SCC_OPT_SHARESUBPROJ.Если подключаемый модуль системы управления версиями не поддерживают семантику, то возвращается SCC_E_OPTNOTSUPPORTED.Это запрещает использование Добавить из системы управления версиями функция.Если подключаемый модуль поддерживает Добавить из системы управления версиями (функцияSCC_CAP_ADDFROMSCC), затем она должна поддерживать новые семантику и извлечение SCC_I_SHARESUBPROJOK.
См. также
Ссылки
Основные понятия
Функции API подключаемых модулей системы управления версиями