다음을 통해 공유


SccGetProjPath 함수

이 함수는은 해당 소스 제어 플러그 인 의미 있는 프로젝트 경로 나타납니다. 사용자가 때 호출 됩니다.

  • 새 프로젝트를 만들려면

  • 기존 프로젝트를 버전 제어에 추가

  • 기존 버전 제어 프로젝트를 찾고

SCCRTN SccGetProjPath (
   LPVOID pvContext,
   HWND   hWnd,
   LPSTR  lpUser,
   LPSTR  lpProjName,
   LPSTR  lpLocalPath,
   LPSTR  lpAuxProjPath,
   BOOL   bAllowChangePath,
   LPBOOL pbNew
);

매개 변수

  • pvContext
    [in] 소스 제어 플러그 인 컨텍스트 구조체입니다.

  • hWnd
    [in] 소스 제어 플러그 인이 제공 하는 모든 대화 상자에 대 한 한 부모를 사용할 수 있는 IDE 창의 핸들입니다.

  • lpUser
    [in, out] 사용자 이름 (NULL 종결자를 포함 하 여 SCC_USER_SIZE을 초과할 수 없음)

  • lpProjName
    [in, out] IDE 프로젝트, 프로젝트 작업 영역 또는 메이크파일 (NULL 종결자를 포함 하 여 SCC_PRJPATH_SIZE을 초과할 수 없음)의 이름입니다.

  • lpLocalPath
    [in, out] 프로젝트의 작업 경로입니다. 경우 bAllowChangePath 입니다 TRUE, 소스 제어 플러그 인이 (_MAX_PATH null 종결자를 포함 하 여, 초과 합니다 not)이 문자열을 수정할 수 있습니다.

  • lpAuxProjPath
    [in, out] 반환 된 프로젝트 경로 (NULL 종결자를 포함 하 여 SCC_PRJPATH_SIZE을 초과할 수 없음)에 대 한 버퍼입니다.

  • bAllowChangePath
    [in] 이 경우 TRUE, 소스 제어 플러그 인에 대 한 메시지를 표시 하 고 수정할 수 있는 lpLocalPath 문자열입니다.

  • pbNew
    [in, out] 들어오는 값 새 프로젝트를 만들 것인지 여부를 나타냅니다. 프로젝트 만들기에 대 한 성공 반환 값을 나타냅니다.

    수신

    해석

    TRUE

    사용자가 새 프로젝트를 만들 수 있습니다.

    FALSE

    사용자가 새 프로젝트를 만들 수 있습니다.

    송신

    해석

    TRUE

    새 프로젝트를 만들었습니다.

    FALSE

    기존 프로젝트를 선택 했습니다.

반환 값

이 함수의 소스 제어 플러그 인 구현 다음 값 중 하나가 반환 해야 합니다.

설명

SCC_OK

성공적으로 만든 검색 또는 프로젝트 되었습니다.

SCC_I_OPERATIONCANCELED

작업이 취소된 경우

SCC_E_ACCESSFAILURE

경합 또는 네트워크 문제 때문에 아마도 소스 제어 시스템에 액세스 하는 데 문제가 있습니다.

SCC_E_CONNECTIONFAILURE

소스 제어 시스템에 연결 하는 동안 문제가 발생 했습니다.

SCC_E_NONSPECIFICERROR

지정되지 않은 오류가 발생했습니다.

설명

이 함수의 용도를 IDE에 대 한 매개 변수를 얻을 수 있습니다 lpProjName 및 lpAuxProjPath. 소스 제어 플러그 인이 정보가 나타납니다 후 IDE를 다시 이러한 두 문자열을 전달 합니다. IDE는 솔루션 파일에 이러한 문자열을 계속 되 고 전달 하는 SccOpenProject 함수 사용자가이 프로젝트를 열 때마다. 이러한 문자열 플러그인 프로젝트와 관련 된 정보를 추적할 수 있습니다.

함수를 처음 호출할 때 lpAuxProjPath 를 빈 문자열로 설정 됩니다. lProjName비어 있을 수 있습니다 또는 소스 제어 플러그 인 사용 되거나 무시 될 수 있습니다 IDE 프로젝트 이름이 포함 될 수 있습니다. 함수가 성공적으로 반환 될 때 해당 문자열 두 플러그인을 반환 합니다. IDE 없음 같이이 문자열에 대 한 가정에서 사용 하는, 사용자가 수정할 수 허용 하지 않습니다. 사용자가 설정을 변경 하려는 경우 IDE 호출 합니다 SccGetProjPath 다시, 같은 값이 전달 이전에 받았습니까. 이 이러한 두 문자열 플러그인 완전히 제어할 수 있습니다.

에 대 한 lpUser, IDE 사용자 이름을 전달할 수 또는 빈 문자열을 포인터를 간단 하 게 통과할 수 있습니다. 소스 제어 플러그 인에 사용자 이름이 없는 경우 기본적으로 사용 해야 합니다. 그러나 이름 없이 전달 된 경우 또는 지정한 이름을 가진 로그인에 실패 한 경우 플러그 인에서는 사용자 로그인과 패스 이름을 다시 입력 해야 lpUser 받으면 유효한 로그인 합니다. 플러그 인이 문자열 변경 될 수 있기 때문에 IDE 항상 크기의 버퍼를 할당 합니다 (SCC_USER_LEN+ 1).

참고

IDE를 수행 하는 첫 번째 작업 중 하나에 대 한 호출 수는 SccOpenProject 함수 또는 SccGetProjPath 함수.따라서 모두 동일한가 lpUser 소스 제어 플러그 어느 시간에 사용자를 로그온 할 수 있도록 하는 매개 변수입니다.함수에서 반환 된 오류를 나타냅니다 경우에 플러그인이 유효한 로그인 이름이 문자열을 입력 해야 합니다.

lpLocalPath여기서 사용자는 프로젝트를 유지 하는 디렉터리가입니다. 빈 문자열일 수 있습니다. (의 프로젝트를 소스 제어 시스템에서 다운로드를 시도 하는 사용자에 따라) 현재 정의 되어 있는 디렉터리가 있고 경우 bAllowChangePath 입니다 TRUE, 소스 제어 플러그 인 수 있습니다 또는 사용자 입력에 대 한 고유 문자열에 배치 하는 다른 방법을 사용 lpLocalPath. 경우 bAllowChangePath 입니다 FALSE, 사용자가 지정 된 디렉터리에 이미 작동 하지 때문에 플러그 인 문자열을 변경 하지 마십시오.

사용자가 소스 제어에서 사용할 수 있는 새 프로젝트를 만드는 경우 소스 제어 플러그 인 실제로 소스 제어 시스템에서 시간에 만들 수 있습니다지 않습니다 SccGetProjPath 라고 합니다. 대신, 함께 문자열에 0이 아닌 값을 다시 전달 pbNew를 나타내는 프로젝트는 소스 제어 시스템에서 만들어집니다.

예를 들어, 사용자의 경우는 새 프로젝트 자신의 프로젝트를 소스 제어에 추가 합니다 Visual Studio, Visual Studio이 함수를 호출 하 고 플러그 인 Visual Studio 프로젝트를 포함 하는 소스 제어 시스템에서 새 프로젝트를 만들 수 있는지 확인 합니다. 사용자가 클릭 하는 경우 취소 마법사를 완료 하기 전에 프로젝트를 작성 하지 않습니다. 사용자가 클릭 하는 경우 확인, Visual Studio 호출 SccOpenProject, passing에서 SCC_OPT_CREATEIFNEW, 및 소스 제어 프로젝트에 작성 됩니다.

참고 항목

참조

SccOpenProject 함수

개념

소스 제어 플러그 인 API 함수