Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Sprawdzone kompilacje były dostępne w starszych wersjach systemu Windows przed systemem Windows 10 w wersji 1803. Użyj narzędzi, takich jak Driver Verifier i GFlags, aby sprawdzić kod sterownika w nowszych wersjach systemu Windows.
Biblioteki sterowników kart inteligentnych obsługują kilka funkcji debugowania. Każda funkcja debugowania jest reprezentowana przez jedną z następujących stałych, które są zdefiniowane w pliku nagłówka Smclib.h :
DEBUG_IOCTL
DEBUG_ATR
DEBUG_PROTOCOL
DEBUG_DRIVER
DEBUG_TRACE
DEBUG_ERROR
DEBUG_BREAK
DEBUG_ALL
Połączony zestaw funkcji debugowania z włączoną obsługą jest reprezentowany przez wartość o nazwie poziom debugowania. Tę wartość można obliczyć, używając bitowego or stałych odpowiadających funkcjom, które chcesz włączyć.
Istnieją dwa sposoby ustawiania poziomu debugowania. Najpierw możesz użyć programu testowego sterownika karty inteligentnej Scdrvtst, który jest dostarczany z zestawem sterowników systemu Windows (WDK). Drugim jest użycie procedury biblioteki sterowników kart inteligentnych SmartcardSetDebugLevel .
W obu przypadkach należy przekazać wartość poziomu debugowania do programu lub procedury, która ustawia poziom debugowania. Aby na przykład ustawić poziom debugowania ze sterownika przy użyciu procedury biblioteki kart inteligentnych, wykonaj następujące wywołanie:
SmartcardSetDebugLevel(DebugLevel);
Aby napisać komunikaty debugowania ze sterownika czytnika, sterownik musi wywołać następującą procedurę:
SmartcardDebug(
ULONG DebugLevel,
PCHAR Message
);
Ważne
Aby uzyskać komunikaty debugowania, należy zainstalować sprawdzoną wersję systemu operacyjnego i sprawdzoną wersję sterownika.
Ta rutyna może również służyć do zapisywania komunikatów w zdalnym debugerze w następujący sposób.
Aby napisać komunikaty o błędach, użyj stałej DEBUG_ERROR dla elementu DebugLevel.
Aby zapisać standardowe komunikaty sterowników, użyj stałej DEBUG_DRIVER.
Aby zapisać komunikaty śledzenia wskazujące, kiedy sterownik czytnika wchodzi lub opuszcza rutynę, użyj DEBUG_TRACE jako DebugLevel.
Podczas tworzenia sterownika należy użyć sprawdzonej wersji biblioteki sterowników kart inteligentnych i ustawić poziom debugowania na wartość maksymalną przy użyciu funkcji SmartcardSetDebugLevel(DEBUG_ALL) w procedurze DriverEntry .
Aby uzyskać informacje na temat konfigurowania sesji zdalnego debugowania, zobacz Debugowanie systemu Windows.