Compartir a través de


DLL de traza

El archivo DLL que realiza el rastreo es uno de los componentes principales de ODBC. El archivo DLL de traza se proporciona actualmente como un archivo DLL de ejemplo en el componente ODBC del SDK de Windows y anteriormente estaba incluido en el SDK de Componentes de Acceso a Datos de Microsoft (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 gestor de controladores llama a la DLL de traza en dos puntos: una vez al inicio de la función (antes de la validación de los argumentos) y de nuevo justo antes de que la función devuelva.

Cuando una aplicación llama a una función, el Administrador del controlador llama a una función de traza en el archivo DLL de traza antes de llamar a la función en el controlador o de procesar la llamada por sí mismo. 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.