Compartir a través de


DLL de traza

El archivo DLL que realiza el seguimiento es uno de los componentes principales de ODBC. El archivo DLL de seguimiento se proporciona actualmente como un archivo DLL de ejemplo en el componente ODBC de Windows SDK y anteriormente se incluía el SDK de Componentes de Microsoft Data Access (MDAC). Por lo tanto, la entrada del Registro, la interfaz y el código de ejemplo del archivo DLL de seguimiento están disponibles. Este archivo DLL se puede reemplazar por un archivo DLL de seguimiento generado por un usuario ODBC o por un proveedor de terceros. A un archivo DLL de seguimiento personalizado se le debe asignar un nombre diferente al archivo DLL de seguimiento de ejemplo original. Los archivos DLL de seguimiento deben instalarse en el directorio del sistema o no se cargarán. El Administrador de controladores no pasará las cadenas de conexión al archivo DLL de seguimiento.

El archivo DLL de seguimiento traza argumentos de entrada, argumentos de salida, argumentos diferidos, códigos de retorno y SQLSTATEs. Cuando el seguimiento está habilitado, el Administrador de controladores llama al archivo DLL de seguimiento en dos puntos: una vez tras la entrada de función (antes de la validación del argumento) y de nuevo justo antes de que la función devuelva.

Cuando una aplicación llama a una función, el Administrador de controladores llama a una función de seguimiento en el archivo DLL de seguimiento antes de llamar a la función en el controlador o procesar la propia llamada. Cada función ODBC tiene una función de seguimiento correspondiente (con el prefijo Trace) que es idéntica a la función ODBC con la excepción del nombre. Cuando se llama a la función de seguimiento, el archivo DLL de seguimiento captura los argumentos de entrada y devuelve un código de retorno. Dado que se llama al archivo DLL de seguimiento antes de que el Administrador de controladores valide los argumentos, se realiza un seguimiento de las llamadas a funciones no válidas, por lo que se registran errores de transición de estado y argumentos no válidos.

Después de llamar a la función de seguimiento en el archivo DLL de seguimiento, el Administrador de controladores llama a la función ODBC en el controlador. A continuación, llama a TraceReturn en el archivo DLL de seguimiento. Esta función toma dos argumentos: el valor devuelto por el archivo DLL de seguimiento para la función de seguimiento y el código devuelto por el controlador al Administrador de controladores para la función ODBC (o el valor devuelto por el propio Administrador de controladores si procesó la función). La función usa el valor devuelto para la función de seguimiento para manipular los valores de argumento de entrada capturados. Escribe el código devuelto para la función ODBC en el archivo de registro (o lo muestra dinámicamente, si está habilitado). Desreferencia los punteros de argumento de salida y registra los valores del argumento de salida.