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


Функция 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

Функция SccGetProjPath

Основные понятия

Функции API подключаемых модулей системы управления версиями