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


Рекомендации по реализации подключаемого модуля системы управления версиями

Следующие технические сведения могут помочь быстро реализовывать подключаемый модуль системы управления версиями в Visual Studio.

Вопросы управления памятью

В большинстве случаев интегрированная среда разработки (ide), вызывающий, выпуски и выделяет память. Подключаемый модуль системы управления версиями возвращает строки и другие элементы в абонент-выделенных буферах. Исключения указаны в описаниях отдельных функций, где они происходят.

Массивы имен файлов

При передаче массива файлов, он не передается как непрерывный массив имен файлов. Он передается как массив указателей на имена файлов. Например, в Функция SccGet имена файлов передаются параметром lpFileNames, где lpFileNames фактически указатель на char **. lpFileNames[0] указатель на имя, lpFileNames[1] указатель на имя второго и т д

Основная модель

Все указатели 32 бита, даже на 16-разрядных операционных системах.

Полные пути

Где имена файлов или каталогов указывается как аргументы, они должны быть полными путями или UNC-путь, без символов обратной косой черты окончания. Обязанностью подключаемых модулей системы управления версиями перевести их с относительным путям если это требование базовой системы управления версиями.

Укажите полный путь для зарегистрированного библиотеки DLL

Интегрированная среда разработки больше не загружает библиотеку DLL от относительных путей (например, ". \ NewProvider.dll). Необходимо указать полный путь к библиотеке DLL (например, C:\Providers\NewProvider.dll). Это требование чрезмерно нагружает безопасность интегрированной среды разработки, предотвращение загрузки несанкционированных или воплощенных библиотеки DLL системы управления версиями.

Проверка подключаемого модуля для существующего VSSCI при установке пользовательский подключаемый модуль системы управления версиями

Пользователь, который планирует устанавливать пользовательский подключаемый модуль системы управления версиями уже может иметь существующий подключаемый модуль системы управления версиями, установленный на компьютере. Программа установки (установки) для подключаемого модуля, который создается ли существующие должна определить значения для соответствующих разделов реестра. Если эти ключи уже заданы, то программа установки запросить пользователя, должна ли зарегистрировать пользовательский подключаемый модуль по умолчанию как подключаемый модуль системы управления версиями и заменить одно, уже установлен.

Коды результата ошибки и отчеты

Код возврата SCC_OK для функций системы управления версиями указывает, что операция завершилась успешно для всех файлов. Если операция завершается неудачей, то предполагается, что обнаружен возвращает последний код ошибки.

Правило для отчетов, что при возникновении ошибки в интегрированной среде разработки, интегрированная среда разработки отвечает за создание отчетов. При возникновении ошибки в системе управления версиями, то подключаемый модуль системы управления версиями отвечает за создание отчетов. Например, «файлы в настоящее время не выбран параметр» были бы передаются средой разработки, тогда как «уже этот файл извлечен» будет сообщен подключаемым модулем.

Структура контекста

Во время вызова в Функция SccInitialize вызывающий код передает параметр ppvContext, неинициализированный дескриптор к свободному пространству. Подключаемый модуль системы управления версиями может пропустить этот параметр или он может выбрать структуру любого типа, и поместите указатель на этой структуре в переданный указатель. Интегрированная среда разработки не распознает эту структуру, но она передает указатель на этой структуре для каждого другой вызов в подключаемом модуле. Это обеспечивает ценные данные кэша контекста подключаемый модуль, оно может использовать для ведения глобального сведения о состоянии, сохраняется с помощью вызовов функций без использования глобальных переменных. Подключаемый модуль отвечает за освобождение структуру на вызове. Функция SccUninitialize

Если подключаемый модуль, в Функция SccInitializeSCC_CAP_REENTRANT устанавливает бит (в частности, в параметре lpSccCaps ), несколько структур контекста используется для отслеживания всех проектов, которые открыты.

Bitflags и другие параметры команды

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

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

Большинство пользователь-конфигурируемые параметра не определены таким образом, поскольку они отличаются по ширине между подключаемых модулей системы управления версиями. Поэтому является рекомендуемым механизмом кнопку Дополнительно. Например, в диалоговом окне получите интегрированная среда разработки отображается только сведения, он понимает, но она также отображает кнопку Дополнительно если подключаемый модуль, содержащий параметры для данной команды. Когда пользователь нажимает кнопку Дополнительно интегрированная среда разработки вызывает Функция SccGetCommandOptions чтобы разрешить подключаемый модуль системы управления версиями для запроса у пользователя сведений, например bitflags или date/time. Подключаемый модуль возвращает эти сведения в структуре, которая передается обратно во время выполнения команды SccGet.

См. также

Другие ресурсы

Подключаемые модули системы управления версиями

создать подключаемый модуль системы управления версиями