SccGetCommandOptions (Función)
Esta función pide al usuario las opciones avanzadas para un comando especificado.
SCCRTN SccGetCommandOptions(
LPVOID pvContext,
HWND hWnd,
enum SCCCOMMAND iCommand,
LPCMDOPTS* ppvOptions
);
Parámetros
pvContext
[in] La estructura del contexto del complemento de control de código fuente.hWnd
[in] Un identificador de la ventana del IDE que el complemento de control de código fuente puede utilizar como elemento primario para cualquier cuadro de diálogo que proporciona.iCommand
[in] El comando que se solicitan las opciones avanzadas (vea Enumerador de código de comando por valores posibles).ppvOptions
[in] La estructura de la opción (también puede ser NULL).
Valor devuelto
La implementación del complemento de control de código fuente de esta función es esperada devolver uno de los siguientes valores:
Valor |
Descripción |
---|---|
SCC_OK |
Correcto. |
SCC_I_ADV_SUPPORT |
el complemento de control de código fuente admite las opciones avanzadas para el comando. |
SCC_I_OPERATIONCANCELED |
El usuario canceló el cuadro de diálogo de Opciones del complemento de control de código fuente. |
SCC_E_OPTNOTSUPPORTED |
el complemento de control de código fuente no admite esta operación. |
SCC_E_ISCHECKEDOUT |
No puede realizar esta operación en un archivo que se compruebe actualmente out. |
SCC_E_ACCESSFAILURE |
Hubo un problema que tiene acceso al sistema de control de código fuente, probablemente debido a problemas de red o de contención. se recomienda un intento. |
SCC_E_NONSPECIFICERROR |
error no específico. |
Comentarios
El IDE llama a esta función por primera vez con ppvOptions=NULL para determinar si el complemento de control de código fuente admite la característica de las opciones avanzadas para el comando especificado. Si el complemento admite la característica para el comando, el IDE llama a esta función de nuevo cuando las opciones avanzadas de las solicitudes del usuario (implementadas normalmente como botón de AVANZADAS en un cuadro de diálogo) y proporciona un puntero no nulo para ppvOptions que señale a NULL un puntero. El complemento almacena cualquier opción avanzada especificada por el usuario en una estructura private y devuelve un puntero a esa estructura en ppvOptions. Esta estructura se pasa al resto de las funciones de la API del complemento de control de código fuente que necesitan saber sobre ella, incluidas las llamadas posteriores a la función de SccGetCommandOptions .
Un ejemplo puede ayudar a clarificar esta situación.
Un usuario elige el comando de obtener y el IDE muestra un cuadro de diálogo de obtener . El IDE llama a la función de SccGetCommandOptions con iCommand establecido en SCC_COMMAND_GET y ppvOptions establecido en NULL. Esto se interpreta por el complemento de control de código fuente como la pregunta “, tiene las opciones avanzadas para este comando?” Si el complemento devuelve SCC_I_ADV_SUPPORT, el IDE muestra un botón de AVANZADAS en el cuadro de diálogo de obtener .
La primera vez que el usuario hace clic en el botón de AVANZADAS , el IDE llama de nuevo a la función de SccGetCommandOptions , esta vez conNULLnoppvOptions que señale a NULL un puntero. El complemento muestra su propio cuadro de diálogo de Obtiene las opciones , pide al usuario la información, coloca esa información en su propia estructura, y devuelve un puntero a esa estructura en ppvOptions.
Si el usuario hace clic en AVANZADAS desde el mismo cuadro de diálogo, el IDE llama a la función de SccGetCommandOptions de nuevo sin cambiar ppvOptions, para pasar la estructura de nuevo al complemento. Esto permite al complemento para restablecer el cuadro de diálogo a los valores que el usuario tiene establecido previamente. El complemento modifica la estructura en contexto antes de volver.
Finalmente, cuando el usuario hace clic en Aceptar en el cuadro de diálogo de obtener del IDE, el IDE llama SccGet (Función), pasando la estructura devuelta en ppvOptions que contiene las opciones avanzadas.
Nota
Se utiliza el comando SCC_COMMAND_OPTIONS cuando el IDE muestra un cuadro de diálogo de Opciones que permita las preferencias del conjunto de usuarios que controlan cómo funciona la integración.Si el complemento de control de código fuente desea proporcionar su propio cuadro de diálogo preferencias, puede mostrarlo de un botón de AVANZADAS en el cuadro de diálogo de las preferencias del IDE.El complemento sólo es responsable de obtener y para conservar esta información; el IDE no lo utiliza o modificarlo.
Vea también
Referencia
Enumerador de código de comando
Conceptos
Funciones de la API del complemento de control de código fuente