Compartir a través de


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.

Consulte también