Функция SccSetOption
Эта функция задает параметры, управляющие поведением подключаемого модуля управления версиями.
Синтаксис
SCCRTN SccSetOption(
LPVOID pvContext,
LONG nOption,
LONG dwVal
);
Параметры
pvContext
[in] Структура контекста подключаемого модуля управления версиями.
nOption
[in] Заданный параметр.
dwVal
[in] Параметры параметра.
Возвращаемое значение
Реализация подключаемого модуля управления версиями этой функции должна возвращать одно из следующих значений:
значение | Описание |
---|---|
SCC_OK | Параметр был успешно установлен. |
SCC_I_SHARESUBPROJOK | Возвращается, если nOption он был SCC_OPT_SHARESUBPROJ , и подключаемый модуль управления версиями позволяет интегрированной среде разработки задать целевую папку. |
SCC_E_OPNOTSUPPORTED | Параметр не задан и не следует полагаться на нее. |
Замечания
Интегрированная среда разработки вызывает эту функцию для управления поведением подключаемого модуля управления версиями. Первый параметр , nOption
указывает значение, которое устанавливается, а второе , dwVal
указывает, что делать с этим значением. Подключаемый модуль сохраняет эти сведения, связанные с интегрированной pvContext``,
среде разработки, должен вызывать эту функцию после вызова SccInitialize (но не обязательно после каждого вызова SccOpenProject).
Сводка по параметрам и их значениям:
nOption |
dwValue |
Description |
---|---|---|
SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_DISABLE SCC_OPT_EQ_ENABLE |
Включает или отключает фоновую очередь событий. |
SCC_OPT_USERDATA |
Произвольное значение | Указывает значение пользователя, передаваемое функции обратного вызова OPTNAMECHANGEPFN . |
SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_NO SCC_OPT_HCM_YES |
Указывает, поддерживает ли интегрированная среда разработки отмену операции. |
SCC_OPT_NAMECHANGEPFN |
Указатель на функцию обратного вызова OPTNAMECHANGEPFN | Задает указатель на функцию обратного вызова с изменением имени. |
SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_NO SCC_OPT_SCO_YES |
Указывает, разрешает ли интегрированная среда разработки извлечение файлов вручную (через пользовательский интерфейс системы управления версиями) или должна ли она быть извлечена только через подключаемый модуль управления версиями. |
SCC_OPT_SHARESUBPROJ |
Н/П | Если подключаемый модуль управления версиями позволяет интегрированной среде разработки указать локальную папку проекта, подключаемый модуль возвращается SCC_I_SHARESUBPROJOK . |
SCC_OPT_EVENTQUEUE
Если nOption
это SCC_OPT_EVENTQUEUE
так, интегрированная среда разработки отключается (или повторно включает) фоновую обработку. Например, во время компиляции интегрированная среда разработки может указать подключаемому модулю управления версиями остановить бездействующий процесс любой операции. После компиляции будет повторно включить фоновую обработку, чтобы сохранить очередь событий подключаемого модуля в актуальном состоянии. В соответствии со SCC_OPT_EVENTQUEUE
значением nOption
, есть два возможных значения для dwVal
, а именно и SCC_OPT_EQ_ENABLE
SCC_OPT_EQ_DISABLE
.
SCC_OPT_HASCANCELMODE
Если значение имеет nOption
значение SCC_OPT_HASCANCELMODE
, интегрированная среда разработки позволяет пользователям отменять длительные операции. SCC_OPT_HCM_NO
Параметр dwVal
(по умолчанию) указывает, что интегрированная среда разработки не имеет режима отмены. Подключаемый модуль управления версиями должен предложить собственную кнопку "Отмена", если он хочет, чтобы пользователь мог отменить. SCC_OPT_HCM_YES
указывает, что интегрированная среда разработки предоставляет возможность отмены операции, поэтому подключаемый модуль SCC не должен отображать собственную кнопку "Отмена". Если интегрированная среда разработки задана, она готова реагировать и DOCANCEL
SCC_MSG_STATUS
отправлять сообщения в функцию обратного lpTextOutProc
вызова (см. LPTEXTOUTPROC).dwVal
SCC_OPT_HCM_YES
Если интегрированная среда разработки не задает эту переменную, подключаемый модуль не должен отправлять эти два сообщения.
SCC_OPT_NAMECHANGEPFN
Если для параметра nOption задано SCC_OPT_NAMECHANGEPFN
значение , и подключаемый модуль управления версиями и интегрированная среда разработки позволяют ей, подключаемый модуль может фактически переименовать или переместить файл во время операции управления версиями. Будет dwVal
задан указатель функции типа OPTNAMECHANGEPFN. Во время операции управления версиями подключаемый модуль может вызвать эту функцию, передав три параметра. Это старое имя (с полным путем) файла, новое имя (с полным путем) этого файла, а также указатель на информацию, которая имеет отношение к интегрированной среде разработки. Интегрированная среда разработки отправляет этот последний указатель путем вызова SccSetOption
с nOption
заданным значением SCC_OPT_USERDATA
,с dwVal
указанием данных. Поддержка этой функции является необязательной. Подключаемый модуль VSSCI, использующий эту возможность, должен инициализировать ее указатель функций и переменные пользовательских NULL
данных, и он не должен вызывать функцию переименования, если она не была предоставлена. Оно также должно быть готово к удержанию значения, которое было дано, или изменить его в ответ на новый вызов SccSetOption
. Это не произойдет в середине командной операции управления версиями, но это может произойти между командами.
SCC_OPT_SCCCHECKOUTONLY
Если задано SCC_OPT_SCCCHECKOUTONLY
значение nOption, интегрированная среда разработки указывает, что файлы в текущем открытом проекте никогда не должны быть извлечены вручную с помощью пользовательского интерфейса системы управления версиями. Вместо этого файлы должны быть извлечены только с помощью подключаемого модуля управления версиями под элементом управления IDE. Если dwValue
задано значение SCC_OPT_SCO_NO
, это означает, что файлы должны обрабатываться обычно подключаемым модулем и могут быть извлечены через пользовательский интерфейс системы управления версиями. Если dwValue
задано значение SCC_OPT_SCO_YES
, то только подключаемый модуль разрешен для получения файлов, а пользовательский интерфейс системы управления версиями не должен вызываться. Это касается ситуаций, когда интегрированная среда разработки может иметь "псевдофайлы", которые имеют смысл проверить только через интегрированную среду разработки.
SCC_OPT_SHARESUBPROJ
Если nOption
задано значение SCC_OPT_SHARESUBPROJ
, интегрированная среда разработки проверяет, может ли подключаемый модуль управления версиями использовать указанную локальную папку при добавлении файлов из системы управления версиями. Значение dwVal
параметра не имеет значения в этом случае. Если подключаемый модуль позволяет интегрированной среде разработки указать локальную папку назначения, где файлы будут добавлены из системы управления версиями при вызове SccAddFromScc , подключаемый модуль должен вернуться SCC_I_SHARESUBPROJOK
при вызове SccSetOption
функции. Затем интегрированная среда разработки использует lplpFileNames
параметр функции для передачи SccAddFromScc
в папку назначения. Подключаемый модуль использует папку назначения для размещения файлов, добавленных из системы управления версиями. Если подключаемый модуль не возвращается SCC_I_SHARESUBPROJOK
при SCC_OPT_SHARESUBPROJ
установке параметра, интегрированная среда разработки предполагает, что подключаемый модуль может добавлять файлы только в текущую локальную папку.