Udostępnij przez


Biblioteka DLL śledzenia

Biblioteka DLL, która wykonuje śledzenie, jest jednym z podstawowych składników ODBC. Biblioteka DLL śledzenia jest obecnie dostarczana jako przykładowa biblioteka DLL w składniku ODBC zestawu Windows SDK i została wcześniej dołączona do zestawu SDK składników dostępu do danych firmy Microsoft (MDAC). W związku z tym dostępne są wpis rejestru, interfejs i przykładowy kod dla biblioteki DLL do śledzenia. Tę bibliotekę DLL można zastąpić biblioteką DLL śledzenia utworzoną przez użytkownika ODBC lub innego dostawcę. Niestandardowa biblioteka DLL śledzenia powinna mieć inną nazwę niż oryginalna przykładowa biblioteka DLL śledzenia. Śledzące biblioteki DLL muszą być zainstalowane w katalogu systemowym, inaczej nie zostaną załadowane. Parametry połączenia nie zostaną przekazane przez Menedżera sterowników do DLL śledzenia.

Trace DLL śledzi argumenty wejściowe, argumenty wyjściowe, argumenty odroczone, kody zwracane i SQLSTATEs. Po włączeniu śledzenia menedżer sterowników wywołuje bibliotekę DLL śledzenia w dwóch punktach: raz po wpisie funkcji (przed weryfikacją argumentu) i ponownie tuż przed zwróceniem funkcji.

Gdy aplikacja wywołuje funkcję, Menadżer sterowników wywołuje funkcję śledzenia w bibliotece śledzącej DLL przed wywołaniem funkcji w sterowniku lub przetworzeniem samego wywołania. Każda funkcja ODBC ma odpowiednią funkcję śledzenia (poprzedzoną prefiksem Trace), która jest identyczna z funkcją ODBC z wyjątkiem nazwy. Po wywołaniu funkcji śledzenia biblioteka DLL śledzenia przechwytuje argumenty wejściowe i zwraca kod powrotu. Ponieważ biblioteka DLL śledzenia jest wywoływana przed zweryfikowaniem argumentów przez Menedżera sterowników, śledzone są nieprawidłowe wywołania funkcji, dlatego rejestrowane są błędy przejścia stanu i nieprawidłowe argumenty.

Po wywołaniu funkcji śledzenia w bibliotece DLL śledzenia, menedżer sterowników wywołuje funkcję ODBC w sterowniku. Następnie wywołuje TraceReturn w trace DLL. Ta funkcja przyjmuje dwa argumenty: wartość zwróconą przez bibliotekę DLL śledzenia dla funkcji śledzenia oraz kod zwracany przez sterownik do Menedżera sterowników dla funkcji ODBC (lub wartość zwróconą przez Menedżera sterowników, jeśli to on przetworzył funkcję). Funkcja używa wartości zwracanej dla funkcji śledzenia w celu manipulowania przechwyconych wartości argumentów wejściowych. Zapisuje kod zwrócony dla funkcji ODBC do pliku dziennika (lub wyświetla go dynamicznie, jeśli jest włączony). Usuwa referencje wskaźników argumentów wyjściowych i zapisuje wartości argumentów wyjściowych.