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