Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
As compilações verificadas estavam disponíveis em versões mais antigas do Windows, antes do Windows 10 versão 1803. Use ferramentas como o Verificador de Driver e GFlags para verificar o código do driver em versões posteriores do Windows.
As bibliotecas de controladores de cartões inteligentes suportam vários recursos de depuração. Cada recurso de depuração é representado por uma das seguintes constantes, que são definidas no arquivo de cabeçalho Smclib.h:
DEBUG_IOCTL
DEBUG_ATR
DEBUG_PROTOCOL
DEBUG_DRIVER
DEBUG_TRACE
DEBUG_ERROR
DEBUG_BREAK
DEBUG_ALL
O conjunto combinado de recursos de depuração habilitados é representado por um valor chamado nível de depuração. Você pode calcular este valor usando o OU bit a bit das constantes que correspondem às funcionalidades que deseja habilitar.
Há duas maneiras de definir o nível de depuração. Primeiro, pode usar o programa de teste do controlador de cartão inteligente, Scdrvtst, que vem com o Kit de Controladores do Windows (WDK). O segundo é usar a rotina da biblioteca do driver de cartão inteligente SmartcardSetDebugLevel.
Em ambos os casos, você deve passar o valor do nível de depuração desejado para o programa ou rotina que define o nível de depuração. Por exemplo, para definir o nível de depuração do driver através de uma rotina da biblioteca de smart cards, faça a seguinte chamada:
SmartcardSetDebugLevel(DebugLevel);
Para escrever mensagens de diagnóstico de um driver de dispositivo de leitura, o driver deve chamar a seguinte rotina:
SmartcardDebug(
ULONG DebugLevel,
PCHAR Message
);
Importante
Você deve instalar a versão verificada do sistema operativo e a versão verificada do driver para obter mensagens de diagnóstico.
Esta rotina também pode ser usada para escrever mensagens para um depurador remoto nas seguintes formas.
Para escrever mensagens de erro, use a constante DEBUG_ERROR para o DebugLevel.
Para escrever mensagens de driver padrão, use a constante DEBUG_DRIVER.
Para escrever mensagens de rastreamento que indiquem quando o driver de leitor entra ou sai de uma rotina, use DEBUG_TRACE como o DebugLevel.
Ao desenvolver um driver, use a versão verificada da biblioteca de drivers de cartão inteligente e defina o nível de depuração ao máximo usando SmartcardSetDebugLevel (DEBUG_ALL) em sua rotina DriverEntry.
Para obter informações sobre como configurar uma sessão de depuração remota, consulte Depuração do Windows.