Функция SccGetCommandOptions
Эта функция запрашивает у пользователя дополнительные параметры для данной команды.
Синтаксис
SCCRTN SccGetCommandOptions(
LPVOID pvContext,
HWND hWnd,
enum SCCCOMMAND iCommand,
LPCMDOPTS* ppvOptions
);
Параметры
pvContext
[in] Структура контекста подключаемого модуля управления версиями.
hWnd
[in] Дескриптор окна интегрированной среды разработки, который подключаемый модуль управления версиями может использовать в качестве родительского элемента для любых диалоговых окон, которые он предоставляет.
Icommand
[in] Команда, для которой запрашиваются дополнительные параметры (см . код команды для возможных значений).
ppvOptions
[in] Структура параметров (также может быть NULL
).
Возвращаемое значение
Реализация подключаемого модуля управления версиями этой функции должна возвращать одно из следующих значений:
значение | Описание |
---|---|
SCC_OK | Успешно. |
SCC_I_ADV_SUPPORT | Подключаемый модуль управления версиями поддерживает дополнительные параметры для команды. |
SCC_I_OPERATIONCANCELED | Пользователь отменил диалоговое окно "Параметры" подключаемого модуля управления версиями. |
SCC_E_OPTNOTSUPPORTED | Подключаемый модуль управления версиями не поддерживает эту операцию. |
SCC_E_ISCHECKEDOUT | Не удается выполнить эту операцию в файле, который в настоящее время проверка отключен. |
SCC_E_ACCESSFAILURE | Возникла проблема с доступом к системе управления версиями, вероятно, из-за проблем с сетью или спором. Рекомендуется повторить попытку. |
SCC_E_NONSPECIFICERROR | Неспецифический сбой. |
Замечания
Интегрированная среда разработки впервые вызывает эту функцию, ppvOptions
=NULL
чтобы определить, поддерживает ли подключаемый модуль управления версиями функцию расширенных параметров для указанной команды. Если подключаемый модуль поддерживает функцию для этой команды, интегрированная среда разработки снова вызывает эту функцию, когда пользователь запрашивает расширенные параметры (обычно реализована как кнопка "Дополнительно " в диалоговом окне) и предоставляет указатель, отличный от NULL, для ppvOptions
этого указывает указатель на NULL
указатель. Подключаемый модуль сохраняет все расширенные параметры, указанные пользователем в частной структуре, и возвращает указатель на ту структуру в ppvOptions
. Затем эта структура передается всем другим функциям API подключаемого модуля управления версиями, которые должны знать об этом, включая последующие вызовы SccGetCommandOptions
функции.
Пример может помочь уточнить эту ситуацию.
Пользователь выбирает команду Get, а интегрированная среда разработки отображает диалоговое окно "Получить". Интегрированная среда разработки вызывает функцию SccGetCommandOptions
с заданным iCommand
SCC_COMMAND_GET
значением и ppvOptions
значением NULL
. Это интерпретируется подключаемым модулем управления версиями как вопрос : "У вас есть дополнительные параметры для этой команды?" Если подключаемый модуль возвращается SCC_I_ADV_SUPPORT
, интегрированная среда разработки отображает кнопку "Дополнительно " в диалоговом окне "Получить ".
При первом нажатии кнопки "Дополнительно ", интегрированная среда разработки снова вызывает SccGetCommandOptions
функцию, на этот раз с нейNULL``ppvOptions
указывает на NULL
указатель. Подключаемый модуль отображает собственное диалоговое окно "Параметры получения", запрашивает пользователю сведения, помещает эти сведения в собственную структуру и возвращает указатель на ту структуру.ppvOptions
Если пользователь снова нажимает кнопку "Дополнительно" в том же диалоговом окне, интегрированная среда разработки снова вызывает SccGetCommandOptions
функцию без изменения ppvOptions
, чтобы структура была передана обратно в подключаемый модуль. Это позволяет подключаемым модулям повторно инициализировать диалоговое окно до значений, заданных пользователем ранее. Подключаемый модуль изменяет структуру на месте перед возвратом.
Наконец, когда пользователь нажимает кнопку "ОК" в диалоговом окне получения интегрированной среды разработки, интегрированная среда разработки вызывает SccGet, передав структуру, возвращаемую в ppvOptions
ней, содержащую дополнительные параметры.
Примечание.
SCC_COMMAND_OPTIONS
Команда используется, когда интегрированная среда разработки отображает диалоговое окно "Параметры", позволяющее пользователю задавать настройки, управляющие работой интеграции. Если подключаемый модуль управления версиями хочет предоставить собственные параметры диалогового окна, он может отобразить его с помощью кнопки "Дополнительно " в диалоговом окне настроек интегрированной среды разработки. Подключаемый модуль несет ответственность за получение и сохранение этой информации; интегрированная среда разработки не использует ее или не изменяет ее.