SccInitialize (Función)
Esta función inicializa el complemento de control de código fuente y proporciona funcionalidades y límites al entorno de desarrollo integrado (IDE).
Sintaxis
SCCRTN SccInitialize (
LPVOID* ppvContext,
HWND hWnd,
LPCSTR lpCallerName,
LPSTR lpSccName,
LPLONG lpSccCaps,
LPSTR lpAuxPathLabel,
LPLONG pnCheckoutCommentLen,
LPLONG pnCommentLen
);
Parámetros
ppvContext
[in] El complemento de control de código fuente puede colocar un puntero a su estructura de contexto aquí.
hWnd
[in] Identificador de la ventana del IDE que el complemento de control de código fuente puede usar como elemento primario para los cuadros de diálogo que proporciona.
lpCallerName
[in] Nombre del programa que llama al complemento de control de código fuente.
lpSccName
[dentro, fuera] El búfer donde el complemento de control de código fuente coloca su propio nombre (no para superar SCC_NAME_LEN
).
lpSccCaps
[out] Devuelve las marcas de funcionalidad del complemento de control de código fuente.
lpAuxPathLabel
[dentro, fuera] El búfer donde el complemento de control de código fuente coloca una cadena que describe el lpAuxProjPath
parámetro devuelto por SccOpenProject y SccGetProjPath (no para superar SCC_AUXLABEL_LEN
).
pnCheckoutCommentLen
[out] Devuelve la longitud máxima permitida para un comentario de desprotección.
pnCommentLen
[out] Devuelve la longitud máxima permitida para otros comentarios.
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 inicialización del control de código fuente se realizó correctamente. |
SCC_E_INITIALIZEFAILED | No se pudo inicializar el sistema. |
SCC_E_NOTAUTHORIZED | El usuario no puede realizar la operación especificada. |
SCC_E_NONSPECFICERROR | Error no específico; no se inicializó el sistema de control de código fuente. |
Comentarios
El IDE llama a esta función cuando carga por primera vez el complemento de control de código fuente. Permite al IDE pasar cierta información, como el nombre del autor de la llamada, al complemento. El IDE también obtiene cierta información, como la longitud máxima permitida para los comentarios y las funcionalidades del complemento.
ppvContext
apunta a un NULL
puntero. El complemento de control de código fuente puede asignar una estructura para su propio uso y almacenar un puntero a esa estructura en ppvContext
. El IDE pasará este puntero a todas las demás funciones de API de VSSCI, lo que permite que el complemento tenga información de contexto disponible sin recurrir al almacenamiento global y para admitir varias instancias del complemento. Esta estructura se debe desasignar cuando se llama a SccUninitialize .
Los lpCallerName
parámetros y lpSccName
habilitan el IDE y el complemento de control de código fuente para intercambiar nombres. Estos nombres se pueden usar simplemente para distinguir entre varias instancias, o pueden aparecer realmente en menús o cuadros de diálogo.
El lpAuxPathLabel
parámetro es una cadena que se usa como comentario para identificar la ruta de acceso del proyecto auxiliar que se almacena en el archivo de solución y se pasa al complemento de control de código fuente en una llamada a SccOpenProject. Visual Source Caja fuerte usa la cadena "Source Caja fuerte Project:"; Otros complementos de control de código fuente deben abstenerse de usar esta cadena determinada.
El lpSccCaps
parámetro proporciona al complemento de control de código fuente un lugar para almacenar los bitflags que indican las funcionalidades del complemento. (Para obtener una lista completa de los bitflags de funcionalidad, consulte Marcas de funcionalidad). Por ejemplo, si el complemento planea escribir resultados en una función de devolución de llamada proporcionada por el autor de la llamada, el complemento establecería el bit de funcionalidad SCC_CAP_TEXTOUT. Esto indicaría al IDE que cree una ventana para los resultados del control de versiones.