Функция SccGetParentProjectPath
Эта функция задает путь родительского заданного проекта. Эта функция вызывается, когда пользователь добавляет проект Visual Studio в систему управления версиями.
SCCRTN SccGetParentProjectPath(
LPVOID pContext,
HWND hWnd,
LPSTR lpUser,
LPCSTR lpProjPath,
LPSTR lpAuxProjPath,
LPSTR lpParentProjPath
);
Параметры
pContext
[in] указатель контекста подключаемый модуль системы управления версиями.hWnd
[in] маркер а в окно интегрированной среды разработки, подключаемый модуль системы управления версиями может использоваться как родительский для всех диалоговых окон, которые он содержит.lpUser
[in, out] имя пользователя (до SCC_USER_SIZE, включая символ конца строки null).lpProjPath
[in] строка, определяющая путь проекта (до SCC_PRJPATH_SIZE, включая символ конца строки null).lpAuxProjPath
[in, out] вспомогательная строка, указывающая проект (до SCC_PRJPATH_SIZE, включая символ конца строки null).lpParentProjPath
[in, out] выходная строка, определяющая путь родительского проекта (до SCC_PRJPATH_SIZE, включая символ конца строки null).
Возвращаемое значение
Предполагается, что возвращает реализация подключаемых модулей системы управления версиями этой функции одно из следующих значений:
Значение |
Описание |
---|---|
SCC_OK |
Путь родительского проекта был успешно получен. |
SCC_E_INITIALIZEFAILED |
Проект не удалось инициализировать. |
SCC_E_INVALIDUSER |
Пользователь не может подключиться к подключаемому модулю системы управления версиями. |
SCC_E_UNKNOWNPROJECT |
Проект неизвестен к подключаемому модулю системы управления версиями. |
SCC_E_INVALIDFILEPATH |
Недопустимый или неиспользуемый путь к файлу. |
SCC_E_NOTAUTHORIZED |
Не пользователь может выполнять эту операцию. |
SCC_E_ACCESSFAILURE |
Возникла проблема при доступе к система управления версиями, возможно, из-за проблем с сетью или конкуренции. Повтор рекомендуется. |
SCC_E_PROJSYNTAXERR |
Недопустимый синтаксис проекта. |
SCC_E_CONNECTIONFAILURE |
Храните проблема соединения. |
SCC_E_NONSPECIFICERROR SCC_E_UNKNOWNERROR |
Неспецифичный сбой. |
Заметки
Эта функция возвращает успешное завершение или код ошибки и, в случае успеха заполняет переменную lpParentProjPath с полным путем проекта в указанный проект.
Эта функция возвращает путь родительского проекта существующего проекта. Для проекта, функция возвращает корневой путь к проекту, переданного (то есть, один и тот же путь проекта корневого каталога). Обратите внимание, что путь проекта строка, содержательна только к подключаемому модулю системы управления версиями.
Интегрированная среда разработки подготавливается принять изменения lpUser и lpAuxProjPath параметры. Интегрированная среда разработки сохраняет и выгружает их на эти строки Функция SccOpenProject когда пользователь открывает данный проект в будущем. Эти строки, поэтому предоставляют способ для подключаемых модулей системы управления версиями данные отслеживания для этого необходимо связать с проектом.
Эта функция подобна Функция SccGetProjPath, за исключением того, что она не предлагает пользователю выбрать проект. Он также создает новый проект, но никогда не работает только с существующим проектом.
После SccGetParentProjectPath вызывает lpProjPath и lpAuxProjPath не пуст и соответствующий допустимой проект. Обычно эти строки принимаются интегрированной средой разработки в результате предыдущего вызова метода SccGetProjPath функция.
lpUser аргумент имя пользователя. Интегрированная среда разработки пройдет в одно и то же имя пользователя, которое она уже получила от SccGetProjPath функция и подключаемый модуль системы управления версиями следует использовать имя по умолчанию. Если пользователь уже есть открытое соединение с подключаемым модулем, подключаемый модуль должен попытаться устранить все запросы, чтобы убедиться, что функция работает без уведомления. Однако если имя входа не удается, подключаемый модуль должен запросить пользователя для входа, а при получении допустимую имя входа, передает обратно в имя lpUser. Так как подключаемый модуль может изменить эту строку, интегрированная среда разработки будет всегда выделить буфер размера (SCC_USER_LEN+1). Если строка изменена, то новая строка должна быть допустимым именем входа (хотя бы как допустимый например старая строка).
Технические замечания о SccCreateSubProject и SccGetParentProjectPath
Добавление решений и проектов в систему управления версиями был упрощен в Visual Studio, чтобы свернуть количество раз, пользователю предлагается выбрать место в системе управления версиями. Эти изменения активированы Visual Studio, если подключаемый модуль системы управления версиями поддерживает обе новых функций; Функция SccCreateSubProject и SccGetParentProjectPath функция. Однако следующая запись реестра используется для отключения эти изменения и отменить изменения к предыдущему Visual Studio (1.1) версии расширения функциональности API системы управления версиями вставляемой:
[HKEY_CURRENT_USER \ software \ microsoft \ VisualStudio \ 8,0 \ SourceControl] "DoNotCreateSolutionRootFolderInSourceControl" =dword: 00000001
Если эта запись реестра не существует или имеет значение двойному слова: 00000000, Visual Studio пытается использовать новые функции SccCreateSubProjectиSccGetParentProjectPath.
Если запись реестра присваивается двойному слова: Visual Studio 00000001, не пытаются использовать эти новые функции и операции добавления в рабочий системы управления версиями, как в предыдущих версиях Visual Studio.
См. также
Ссылки
Основные понятия
Функции API подключаемых модулей системы управления версиями