다음을 통해 공유


SccGetCommandOptions 함수

이 함수는 사용자에게 지정된 명령에 대한 고급 옵션을 묻는 메시지를 표시합니다.

구문

SCCRTN SccGetCommandOptions(
   LPVOID pvContext,
   HWND hWnd,
   enum SCCCOMMAND iCommand,
   LPCMDOPTS* ppvOptions
);

매개 변수

pvContext

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

hWnd

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

iCommand

[in] 고급 옵션이 요청되는 명령입니다(가능한 값은 명령 코드 참조).

ppvOptions

[in] 옵션 구조(NULL일 수도 있음)입니다.

반환 값

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

Description
SCC_OK 성공.
SCC_I_ADV_SUPPORT 소스 제어 플러그 인은 명령에 대한 고급 옵션을 지원합니다.
SCC_I_OPERATIONCANCELED 사용자가 소스 제어 플러그 인의 옵션 대화 상자를 취소했습니다.
SCC_E_OPTNOTSUPPORTED 소스 제어 플러그 인은 이 작업을 지원하지 않습니다.
SCC_E_ISCHECKEDOUT 현재 체크 아웃된 파일에서는 이 작업을 수행할 수 없습니다.
SCC_E_ACCESSFAILURE 네트워크 또는 경합 문제로 인해 소스 제어 시스템에 액세스하는 데 문제가 발생했습니다. 다시 시도하는 것이 좋습니다.
SCC_E_NONSPECIFICERROR 일반적인 오류입니다.

설명

IDE는 ppvOptions=NULL로 이 함수를 처음 호출하여 소스 제어 플러그 인이 지정된 명령에 대한 고급 옵션 기능을 지원하는지 확인합니다. 플러그 인이 해당 명령에 대한 기능을 지원하는 경우 IDE는 사용자가 고급 옵션(일반적으로 대화 상자에서 고급 단추로 구현됨)을 요청하고 NULL 포인터를 가리키는 ppvOptions의 경우 NULL이 아닌 포인터를 제공할 때 이 함수를 다시 호출합니다. 플러그 인은 사용자가 지정한 모든 고급 옵션을 프라이빗 구조에 저장하고 ppvOptions에 해당 구조에 대한 포인터를 반환합니다. 그런 다음 이 구조는 SccGetCommandOptions 함수에 대한 후속 호출을 포함하여 이에 대해 알아야 하는 다른 모든 소스 제어 플러그인 API 함수에 전달됩니다.

예를 들어 이 상황을 명확히 하는 데 도움이 될 수 있습니다

사용자가 가져오기 명령을 선택하면 IDE에 가져오기 대화 상자가 표시됩니다. IDE는 iCommandSCC_COMMAND_GET으로 설정하고 ppvOptionsNULL로 설정하여 SccGetCommandOptions 함수를 호출합니다. 이것은 소스 제어 플러그 인에서 "이 명령에 대한 고급 옵션이 있나요?"라는 질문으로 해석됩니다. 플러그 인이 SCC_I_ADV_SUPPORT를 반환하면 IDE의 가져오기 대화 상자에 고급 단추가 표시됩니다.

사용자가 처음으로 고급 단추를 클릭하면 IDE가 다시 SccGetCommandOptions 함수를 호출합니다. 이번에는 NULL 포인터를 가리키는 NULL``ppvOptions가 아닌 함수를 호출합니다. 플러그 인은 자체 옵션 가져오기 대화 상자를 표시하고, 사용자에게 정보를 요청하고, 해당 정보를 자체 구조에 넣고, ppvOptions에서 해당 구조에 대한 포인터를 반환합니다.

사용자가 동일한 대화 상자에서 고급을 다시 클릭하면 IDE는 ppvOptions를 변경하지 않고 SccGetCommandOptions 함수를 다시 호출하므로 구조가 플러그 인으로 다시 전달됩니다. 이렇게 하면 플러그 인이 대화 상자를 사용자가 이전에 설정한 값으로 다시 초기화할 수 있습니다. 플러그 인은 반환하기 전에 제자리에서 구조를 수정합니다.

마지막으로 사용자가 IDE의 가져오기 대화 상자에서 확인을 클릭하면 IDE는 SccGet을 호출하고 고급 옵션이 포함된 ppvOptions에 반환된 구조를 전달합니다.

참고 항목

SCC_COMMAND_OPTIONS 명령은 사용자가 통합 작동 방식을 제어하는 기본 설정을 지정할 수 있는 옵션 대화 상자를 IDE에 표시할 때 사용됩니다. 소스 제어 플러그 인이 자체 기본 설정 대화 상자를 제공하려는 경우 IDE 기본 설정 대화 상자의 고급 단추에서 표시할 수 있습니다. 플러그 인은 이 정보를 가져오고 유지하는 데 전적인 책임이 있으며 IDE는 이를 사용하거나 수정하지 않습니다.

참고 항목