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는 iCommand
를 SCC_COMMAND_GET
으로 설정하고 ppvOptions
를 NULL
로 설정하여 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는 이를 사용하거나 수정하지 않습니다.