Поделиться через


Функция 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 Команда используется, когда интегрированная среда разработки отображает диалоговое окно "Параметры", позволяющее пользователю задавать настройки, управляющие работой интеграции. Если подключаемый модуль управления версиями хочет предоставить собственные параметры диалогового окна, он может отобразить его с помощью кнопки "Дополнительно " в диалоговом окне настроек интегрированной среды разработки. Подключаемый модуль несет ответственность за получение и сохранение этой информации; интегрированная среда разработки не использует ее или не изменяет ее.

См. также