Функция SccInitialize

Эта функция инициализирует подключаемый модуль управления версиями и предоставляет возможности и ограничения интегрированной среды разработки (IDE).

Синтаксис

SCCRTN SccInitialize (
   LPVOID* ppvContext,
   HWND    hWnd,
   LPCSTR  lpCallerName,
   LPSTR   lpSccName,
   LPLONG  lpSccCaps,
   LPSTR   lpAuxPathLabel,
   LPLONG  pnCheckoutCommentLen,
   LPLONG  pnCommentLen
);

Параметры

ppvContext

[in] Подключаемый модуль управления версиями может поместить указатель на ее структуру контекста здесь.

hWnd

[in] Дескриптор окна интегрированной среды разработки, который подключаемый модуль управления версиями может использовать в качестве родительского элемента для любых диалоговых окон, которые он предоставляет.

lpCallerName

[in] Имя программы, вызывающей подключаемый модуль управления версиями.

lpSccName

[in, out] Буфер, в котором подключаемый модуль управления версиями помещает собственное имя (не превышено SCC_NAME_LEN).

lpSccCaps

[out] Возвращает флаги возможностей подключаемого модуля управления версиями.

lpAuxPathLabel

[in, out] Буфер, в котором подключаемый модуль управления версиями помещает lpAuxProjPath строку, описывающую параметр, возвращаемый SccOpenProject и SccGetProjPath (не превышен SCC_AUXLABEL_LEN).

pnCheckoutCommentLen

[out] Возвращает максимальную допустимую длину для комментария проверка out.

pnCommentLen

[out] Возвращает максимальную допустимую длину для других комментариев.

Возвращаемое значение

Реализация подключаемого модуля управления версиями этой функции должна возвращать одно из следующих значений:

значение Описание
SCC_OK Инициализация системы управления версиями выполнена успешно.
SCC_E_INITIALIZEFAILED Не удалось инициализировать систему.
SCC_E_NOTAUTHORIZED Пользователю запрещено выполнять указанную операцию.
SCC_E_NONSPECFICERROR Неспецифический сбой; Система управления версиями не инициализирована.

Замечания

Интегрированная среда разработки вызывает эту функцию при первой загрузке подключаемого модуля управления версиями. Она позволяет интегрированной среде разработки передавать определенные сведения, такие как имя вызывающего объекта, в подключаемый модуль. Интегрированная среда разработки также возвращает некоторые сведения, такие как максимальная допустимая длина комментариев и возможности подключаемого модуля.

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

lpSccName Параметры lpCallerName позволяют интегрированной среде разработки и подключаемого модуля управления версиями обмениваться именами. Эти имена можно использовать просто для различения нескольких экземпляров, или они могут отображаться в меню или диалоговых окнах.

Параметр lpAuxPathLabel — это строка, используемая в качестве комментария для идентификации вспомогательного пути проекта, который хранится в файле решения и передается в подключаемый модуль управления версиями в вызове SccOpenProject. Visual Source Сейф использует строку "Source Сейф Project:"; другие подключаемые модули управления версиями должны воздерживаться от использования этой конкретной строки.

Параметр lpSccCaps предоставляет подключаемый модуль управления версиями для хранения bitflags, указывающих на возможности подключаемого модуля. (Полный список bitflags возможностей см. в разделе Флаги возможностей). Например, если подключаемый модуль планирует записывать результаты в функцию обратного вызова, предоставленной вызывающим, подключаемый модуль установит бит SCC_CAP_TEXTOUT возможности. Это сигнализирует интегрированной среде разработки, чтобы создать окно для результатов управления версиями.

См. также