Функция SccCreateSubProject
Эта функция создает подпроект с заданным именем в проекте указанным существующим родительским lpParentProjPath аргумент.
SCCRTN SccCreateSubProject(
LPVOID pContext,
HWND hWnd,
LPSTR lpUser,
LPCSTR lpParentProjPath,
LPCSTR lpSubProjName,
LPSTR lpAuxProjPath,
LPSTR lpSubProjPath
);
Параметры
pContext
[in] указатель контекста подключаемый модуль системы управления версиями.hWnd
[in] маркер а в окно интегрированной среды разработки, подключаемый модуль системы управления версиями может использоваться как родительский для всех диалоговых окон, которые он содержит.lpUser
[in, out] имя пользователя (до SCC_USER_SIZE, включая символ конца строки null).lpParentProjPath
[in] строка, определяющая путь родительского проекта (до SCC_PRJPATH_SIZE, включая символ конца строки null).lpSubProjName
[in] предложенное имя подпроекта (до SCC_PRJPATH_SIZE, включая символ конца строки null).lpAuxProjPath
[in, out] вспомогательная строка, указывающая проект (до SCC_PRJPATH_SIZE, включая символ конца строки null).lpSubProjPath
[in, out] выходная строка, определяющая путь для подпроекта (до SCC_PRJPATH_SIZE, включая символ конца строки null).
Возвращаемое значение
Предполагается, что возвращает реализация подключаемых модулей системы управления версиями этой функции одно из следующих значений:
Значение |
Описание |
---|---|
SCC_OK |
Подпроект успешно создан. |
SCC_E_INITIALIZEFAILED |
Родительский проект не удалось инициализировать. |
SCC_E_INVALIDUSER |
Пользователь не может подключиться к системе системы управления версиями. |
SCC_E_COULDNOTCREATEPROJECT |
Подпроект создать нельзя. |
SCC_E_PROJSYNTAXERR |
Недопустимый синтаксис проекта. |
SCC_E_UNKNOWNPROJECT |
Родительский проект неизвестен к подключаемому модулю системы управления версиями. |
SCC_E_INVALIDFILEPATH |
Недопустимый или неиспользуемый путь к файлу. |
SCC_E_NOTAUTHORIZED |
Не пользователь может выполнять эту операцию. |
SCC_E_ACCESSFAILURE |
Возникла проблема при доступе к система управления версиями, возможно, из-за проблем с сетью или конкуренции. Повтор рекомендуется. |
SCC_E_CONNECTIONFAILURE |
Возникла проблема подключаемого модуля подключения системы управления версиями. |
SCC_E_NONSPECIFICERROR SCC_E_UNKNOWNERROR |
Неспецифичный сбой. |
Заметки
Если подпроект с именем уже существует, то функция может изменить имя по умолчанию для создания уникальных одно, например путем добавления "_<number>"на него. Для вызывающей стороны требуется подготовить принять изменения lpUser" lpSubProjPathи lpAuxProjPath. lpSubProjPath иlpAuxProjPath аргументы затем используется вызову Функция SccOpenProject. Они не должны быть изменены вызывающим объектом при возврате. Эти строки представляют собой способ для подключаемых модулей системы управления версиями данные отслеживания, которые необходимо связать с проектом. Интегрированная среда разработки вызывающего объекта не отображает эти 2 параметра при возврате, так как подключаемый модуль может использовать форматируемую строку, которая не может быть подходит для просмотра. Функция возвращает успешное завершение или код ошибки и, в случае успеха заполняет переменную lpSubProjPath с полным путем проекта к новому проекту.
Эта функция подобна Функция SccGetProjPath, за исключением того, что она автоматически создают проект, а не в котором пользователю выбрать его. После SccCreateSubProject функция вызывается, lpParentProjName и lpAuxProjPath не пуст и соответствующий допустимой проект. Обычно эти строки принимаются интегрированной средой разработки в результате предыдущего вызова метода SccGetProjPath функция or Функция SccGetParentProjectPath.
lpUser аргумент имя пользователя. Интегрированная среда разработки пройдет в одно и то же имя пользователя, для которого она уже получила от SccGetProjPathи подключаемый модуль системы управления версиями следует использовать имя по умолчанию. Если пользователь уже есть открытое соединение с подключаемым модулем, подключаемый модуль должен попытаться устранить все запросы, чтобы убедиться, что функция работает без уведомления. Однако если имя входа не удается, подключаемый модуль должен запросить пользователя для входа, а при получении допустимую имя входа, передает обратно в имя lpUser. Так как подключаемый модуль может изменить эту строку, интегрированная среда разработки будет всегда выделить буфер размера (SCC_USER_LEN+1 или SCC_USER_SIZE, содержат пробел для признака конца null). Если строка изменена, то новая строка должна быть допустимым именем входа (хотя бы как допустимый например старая строка).
Технические замечания о 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.
См. также
Ссылки
Функция SccGetParentProjectPath
Основные понятия
Функции API подключаемых модулей системы управления версиями