SccSetOption (Función)
Esta función establece opciones que controlan el comportamiento del complemento de control de código fuente.
Sintaxis
SCCRTN SccSetOption(
LPVOID pvContext,
LONG nOption,
LONG dwVal
);
Parámetros
pvContext
[in] Estructura del contexto del complemento de control de código fuente.
nOption
[in] Opción que se va a establecer.
dwVal
[in] Configuración de la opción .
Valor devuelto
Se espera que la implementación del complemento de control de código fuente de esta función devuelva uno de los siguientes valores:
Valor | Descripción |
---|---|
SCC_OK | La opción se estableció correctamente. |
SCC_I_SHARESUBPROJOK | Se devuelve si nOption era SCC_OPT_SHARESUBPROJ y el complemento de control de código fuente permite que el IDE establezca la carpeta de destino. |
SCC_E_OPNOTSUPPORTED | No se estableció la opción y no debe basarse en ella. |
Comentarios
El IDE llama a esta función para controlar el comportamiento del complemento de control de código fuente. El primer parámetro, nOption
, indica el valor que se va a establecer, mientras que el segundo, dwVal
, indica qué hacer con ese valor. El complemento almacena esta información asociada a para pvContext``,
que el IDE deba llamar a esta función después de llamar a SccInitialize (pero no necesariamente después de cada llamada a SccOpenProject).
Resumen de las opciones y sus valores:
nOption |
dwValue |
Descripción |
---|---|---|
SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_DISABLE SCC_OPT_EQ_ENABLE |
Habilita o deshabilita la puesta en cola de eventos en segundo plano. |
SCC_OPT_USERDATA |
Valor arbitrario | Especifica un valor de usuario que se va a pasar a la función de devolución de llamada OPTNAMECHANGEPFN . |
SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_NO SCC_OPT_HCM_YES |
Indica si el IDE admite actualmente la cancelación de una operación. |
SCC_OPT_NAMECHANGEPFN |
Puntero a la función de devolución de llamada OPTNAMECHANGEPFN | Establece un puntero a una función de devolución de llamada de cambio de nombre. |
SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_NO SCC_OPT_SCO_YES |
Indica si el IDE permite la desprotegición manual de sus archivos (a través de la interfaz de usuario del control de código fuente) o si solo se deben desprotegir a través del complemento de control de código fuente. |
SCC_OPT_SHARESUBPROJ |
N/D | Si el complemento de control de código fuente permite al IDE especificar la carpeta del proyecto local, el complemento devuelve SCC_I_SHARESUBPROJOK . |
SCC_OPT_EVENTQUEUE
Si nOption
es SCC_OPT_EVENTQUEUE
, el IDE deshabilita (o vuelve a habilitar) el procesamiento en segundo plano. Por ejemplo, durante una compilación, el IDE podría indicar al complemento de control de código fuente que detenga el procesamiento inactivo de cualquier tipo. Después de la compilación, volvería a habilitar el procesamiento en segundo plano para mantener actualizada la cola de eventos del complemento. Correspondiente al SCC_OPT_EVENTQUEUE
valor de nOption
, hay dos valores posibles para dwVal
, a saber, SCC_OPT_EQ_ENABLE
y SCC_OPT_EQ_DISABLE
.
SCC_OPT_HASCANCELMODE
Si el valor de nOption
es SCC_OPT_HASCANCELMODE
, el IDE permite a los usuarios cancelar operaciones largas. Si se establece dwVal
en SCC_OPT_HCM_NO
(valor predeterminado) se indica que el IDE no tiene ningún modo de cancelación. El complemento de control de código fuente debe ofrecer su propio botón Cancelar si quiere que el usuario pueda cancelar. SCC_OPT_HCM_YES
indica que el IDE proporciona la capacidad de cancelar una operación, por lo que el complemento SCC no necesita mostrar su propio botón Cancelar. Si el IDE establece dwVal
SCC_OPT_HCM_YES
en , está preparado para responder a SCC_MSG_STATUS
los mensajes y DOCANCEL
enviados a la lpTextOutProc
función de devolución de llamada (consulte LPTEXTOUTPROC). Si el IDE no establece esta variable, el complemento no debe enviar estos dos mensajes.
SCC_OPT_NAMECHANGEPFN
Si nOption se establece SCC_OPT_NAMECHANGEPFN
en y el complemento de control de código fuente y el IDE lo permiten, el complemento puede cambiar el nombre o mover un archivo durante una operación de control de código fuente. dwVal
se establecerá en un puntero de función de tipo OPTNAMECHANGEPFN. Durante una operación de control de código fuente, el complemento puede llamar a esta función, pasando tres parámetros. Estos son el nombre antiguo (con ruta de acceso completa) de un archivo, el nuevo nombre (con ruta de acceso completa) de ese archivo y un puntero a la información que tiene relevancia para el IDE. El IDE envía en este último puntero llamando a SccSetOption
con establecido SCC_OPT_USERDATA
en nOption
, con dwVal
apuntando a los datos. La compatibilidad con esta función es opcional. Un complemento de VSSCI que usa esta capacidad debe inicializar sus variables de datos de usuario y puntero de función a NULL
, y no debe llamar a una función de cambio de nombre a menos que se le haya dado una. También debe estar preparado para contener el valor que se le ha dado o para cambiarlo en respuesta a una nueva llamada a SccSetOption
. Esto no ocurrirá en medio de una operación de comando de control de código fuente, pero puede ocurrir entre comandos.
SCC_OPT_SCCCHECKOUTONLY
Si nOption está establecido SCC_OPT_SCCCHECKOUTONLY
en , el IDE indica que los archivos del proyecto abierto actualmente nunca deben desprotegirse manualmente a través de la interfaz de usuario del sistema de control de código fuente. En su lugar, los archivos deben desprotegirse solo a través del complemento de control de código fuente bajo el control IDE. Si dwValue
se establece SCC_OPT_SCO_NO
en , significa que el complemento debe tratar normalmente los archivos y se puede desprotegir a través de la interfaz de usuario del control de código fuente. Si dwValue
se establece SCC_OPT_SCO_YES
en , solo se permite que el complemento desactive los archivos y no se debe invocar la interfaz de usuario del sistema de control de código fuente. Esto es para situaciones en las que el IDE podría tener "pseudo-archivos" que tengan sentido consultar solo a través del IDE.
SCC_OPT_SHARESUBPROJ
Si nOption
se establece SCC_OPT_SHARESUBPROJ
en , el IDE está probando si el complemento de control de código fuente puede usar una carpeta local especificada al agregar archivos desde el control de código fuente. El valor del dwVal
parámetro no importa en este caso. Si el complemento permite al IDE especificar la carpeta de destino local donde se agregarán los archivos desde el control de código fuente cuando se llame a SccAddFromScc , el complemento debe devolver SCC_I_SHARESUBPROJOK
cuando se llame a la SccSetOption
función. A continuación, el IDE usa el lplpFileNames
parámetro de la SccAddFromScc
función para pasar la carpeta de destino. El complemento usa esa carpeta de destino para colocar los archivos agregados desde el control de código fuente. Si el complemento no devuelve SCC_I_SHARESUBPROJOK
cuando se establece la SCC_OPT_SHARESUBPROJ
opción, el IDE asume que el complemento solo puede agregar archivos en la carpeta local actual.