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 para 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:

Value 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 dwValSCC_OPT_HCM_YESen , 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_NAMECHANGEPFNen 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_USERDATAen 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_SCCCHECKOUTONLYen , 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_NOen , 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_YESen , 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

SinOption se establece SCC_OPT_SHARESUBPROJen , 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.

Consulte también