DLL di traccia
La DLL che esegue il tracciamento è uno dei componenti principali di ODBC. La DLL di traccia è attualmente disponibile come DLL di esempio nel componente ODBC di Windows SDK ed è stata in precedenza inclusa nell’SDK Microsoft Data Access Components (MDAC). Pertanto, sono disponibili la voce del Registro di sistema, l'interfaccia e il codice di esempio per la DLL di traccia. Questa DLL può essere sostituita da una DLL di traccia prodotta da un utente ODBC o da un fornitore terzo. A una DLL di traccia personalizzata deve essere assegnato un nome diverso rispetto alla DLL di traccia di esempio originale. Le DLL di traccia devono essere installate nella directory di sistema, altrimenti non sarà possibile caricarle. Le stringhe di connessione non verranno passate alla DLL di traccia da Gestione driver.
La DLL di traccia monitora argomenti di input, argomenti di output, argomenti differiti, codici restituiti e SQLSTATE. Quando la traccia è abilitata, Gestione driver chiama la DLL di traccia in due punti: una volta alla voce della funzione (prima della convalida degli argomenti) e ancora una volta prima della restituzione della funzione.
Quando un'applicazione chiama una funzione, Gestione driver chiama una funzione di traccia nella DLL di traccia prima di chiamare la funzione nel driver o di elaborare la chiamata stessa. Ogni funzione ODBC ha una funzione di traccia corrispondente (preceduta da Trace) identica alla funzione ODBC, ad eccezione del nome. Quando viene chiamata la funzione di traccia, la DLL di traccia acquisisce gli argomenti di input e restituisce un codice restituito. Poiché la DLL di traccia viene chiamata prima che Gestione driver convalida gli argomenti, le chiamate di funzione non valide vengono tracciate, quindi vengono registrati errori di transizione di stato e argomenti non validi.
Dopo aver chiamato la funzione di traccia nella DLL di traccia, Gestione driver chiama la funzione ODBC nel driver. Chiama quindi TraceReturn nella DLL di traccia. Questa funzione accetta due argomenti: il valore restituito dalla DLL di traccia per la funzione di traccia e il codice restituito dal driver a Gestione driver per la funzione ODBC (o il valore restituito da Gestione driver stesso se ha elaborato la funzione). La funzione usa il valore restituito per la funzione di traccia per modificare i valori degli argomenti di input acquisiti. Scrive il codice restituito per la funzione ODBC nel file di log (o lo visualizza in modo dinamico, se abilitato). Dereferenzia i puntatori agli argomenti di output e registra i valori degli argomenti di output.