Interface do usuário do cartão inteligente
A interface do usuário (interface do usuário) do smart cartão é uma única caixa de diálogo comum que permite que o usuário especifique ou pesquise um cartão inteligente para abrir (ou seja, conectar e usar em um aplicativo).
Veja a seguir duas maneiras de usar a caixa de diálogo comum. Ambos pressupõem que a interface do usuário da caixa de diálogo será exibida. Para obter mais informações, consulte OPENCARDNAME.
Para selecionar um cartão inteligente para abrir
- Declare uma variável do tipo OPENCARDNAME.
- Forneça informações suficientes na caixa de diálogo comum para restringir a pesquisa por um cartão inteligente que o aplicativo de chamada está procurando. Isso inclui especificar lpstrGroupNames, lpstrCardNames e rgguidInterfaces. Isso também inclui a especificação de um modo de compartilhamento preferencial e um protocolo a ser usado quando a caixa de diálogo comum se conecta ao cartão usando os membros dwShareMode e dwPreferredProtocols da estrutura OPENCARDNAME.
- Chame a função GetOpenCardName para exibir a caixa de diálogo comum para o usuário. Uma linha de informações de ajuda simples será exibida e, se um dos cartões solicitados for encontrado, o cartão será realçado na exibição. Para várias pesquisas de nome cartão, o primeiro leitor que contém um dos cartões preferenciais será realçado.
- Em seguida, o usuário seleciona um cartão, clica em OK e se conecta à cartão inteligente.
Para pesquisar um cartão específico
Declare uma variável do tipo OPENCARDNAME.
Forneça informações suficientes na caixa de diálogo comum para restringir a pesquisa por um cartão inteligente que o aplicativo de chamada está procurando. Isso inclui especificar lpstrGroupNames, lpstrCardNames e rgguidInterfaces.
Crie as funções de retorno de chamada Conectar, Verificar e Desconectar e defina os membros de dados lpfnConnect, lpfnCheck e lpfnDisconnect adequadamente.
Observação
Todas as três funções e membros devem estar disponíveis ao usar a caixa de diálogo comum dessa maneira.
Chame a função de caixa de diálogo comum GetOpenCardName .
Em seguida, a caixa de diálogo comum pesquisará os cartões solicitados. Se um nome de cartão ou uma cadeia de caracteres ATR correspondente for encontrado, as funções de retorno de chamada Conectar, Verificar e Desconectar serão chamadas em sequência. Se um cartão passar a rotina Verificar (ou seja, o retorno de chamada De verificação retornará TRUE), esse cartão será realçado na exibição para o usuário.
Observação
Se vários nomes de cartão forem fornecidos, o primeiro leitor que contiver um dos cartões solicitados e passar a rotina Verificar será o cartão selecionado.
Se nenhuma correspondência for encontrada, uma caixa de diálogo comum será exibida.