다음을 통해 공유


SccInitialize 함수

이 함수는 소스 제어 플러그 인을 초기화하고 IDE(통합 개발 환경)에 대한 기능 및 제한을 제공합니다.

구문

SCCRTN SccInitialize (
   LPVOID* ppvContext,
   HWND    hWnd,
   LPCSTR  lpCallerName,
   LPSTR   lpSccName,
   LPLONG  lpSccCaps,
   LPSTR   lpAuxPathLabel,
   LPLONG  pnCheckoutCommentLen,
   LPLONG  pnCommentLen
);

매개 변수

ppvContext

[in] 소스 제어 플러그 인은 여기에 컨텍스트 구조에 대한 포인터를 배치할 수 있습니다.

hWnd

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

lpCallerName

[in] 소스 제어 플러그 인을 호출하는 프로그램의 이름입니다.

lpSccName

[in, out] 소스 제어 플러그 인이 자체 이름을 넣는 버퍼입니다(SCC_NAME_LEN을 초과하지 않음).

lpSccCaps

[out] 소스 제어 플러그 인의 기능 플래그를 반환합니다.

lpAuxPathLabel

[in, out] 소스 제어 플러그 인이 SccOpenProjectSccGetProjPath(SCC_AUXLABEL_LEN을 초과하지 않음)에서 반환된 lpAuxProjPath 매개 변수를 설명하는 문자열을 넣는 버퍼입니다.

pnCheckoutCommentLen

[out] 체크 아웃 주석에 허용되는 최대 길이를 반환합니다.

pnCommentLen

[out] 다른 주석에 허용되는 최대 길이를 반환합니다.

Return Value

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

Description
SCC_OK 소스 제어 초기화에 성공했습니다.
SCC_E_INITIALIZEFAILED 시스템을 초기화할 수 없습니다.
SCC_E_NOTAUTHORIZED 사용자가 지정된 작업을 수행할 수 없습니다.
SCC_E_NONSPECFICERROR 비특정 오류입니다. 소스 제어 시스템이 초기화되지 않았습니다.

설명

IDE는 소스 제어 플러그 인을 처음 로드할 때 이 함수를 호출합니다. 이를 통해 IDE는 호출자 이름과 같은 특정 정보를 플러그 인에 전달할 수 있습니다. 또한 IDE는 주석에 허용되는 최대 길이, 플러그 인 기능 등의 특정 정보를 다시 가져옵니다.

ppvContextNULL 포인터를 가리킵니다. 소스 제어 플러그 인은 자체 사용을 위해 구조체를 할당하고 해당 구조체에 대한 포인터를 ppvContext에 저장할 수 있습니다. IDE는 다른 모든 VSSCI API 함수에 이 포인터를 전달하여 플러그 인이 전역 스토리지에 의존하지 않고도 컨텍스트 정보를 사용할 수 있도록 하고 플러그 인의 여러 인스턴스를 지원할 수 있도록 합니다. SccUninitialize가 호출될 때 이 구조체의 할당을 취소해야 합니다.

lpCallerNamelpSccName 매개 변수를 사용하면 IDE 및 소스 제어 플러그 인이 이름을 교환할 수 있습니다. 이 이름은 단순히 여러 인스턴스를 구분하는 데 사용될 수 있고 실제로 메뉴 또는 대화 상자에 표시될 수도 있습니다.

lpAuxPathLabel 매개 변수는 솔루션 파일에 저장되고 SccOpenProject 호출에서 소스 제어 플러그 인에 전달되는 보조 프로젝트 경로를 식별하기 위해 주석으로 사용되는 문자열입니다. Visual SourceSafe는 문자열 “SourceSafe Project:“를 사용합니다. 다른 소스 제어 플러그 인은 이 특정 문자열을 사용하지 않아야 합니다.

lpSccCaps 매개 변수는 플러그 인의 기능을 나타내는 비트 플래그를 저장할 위치를 소스 제어 플러그 인에 제공합니다. (기능 비트 플래그의 전체 목록은 기능 플래그를 참조하세요). 예를 들어 플러그 인이 호출자 제공 콜백 함수에 결과를 쓸 계획인 경우 플러그 인은 기능 비트 SCC_CAP_TEXTOUT을 설정합니다. 이렇게 하면 버전 제어 결과에 대한 창을 만들도록 IDE에 신호를 보낼 수 있습니다.

참고 항목