Interface do Usuário do Cartão Inteligente
O cartão inteligente interface do usuário (interface do usuário) é 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 .
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 de um cartão inteligente que o aplicativo de chamada está procurando. Isso inclui especificar lpstrGroupNames, lpstrCardNamese rgguidInterfaces. Isso também inclui especificar um modo de compartilhamento preferencial e um protocolo a ser usado quando a caixa de diálogo comum se conectar ao cartão usando o dwShareMode e dwPreferredProtocols membros da estruturaOPENCARDNAME.
- 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 de 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 OKe se conecta ao cartão inteligente.
Procurar 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 de um cartão inteligente que o aplicativo de chamada está procurando. Isso inclui especificar lpstrGroupNames, lpstrCardNamese rgguidInterfaces.
Crie as funções Connect, Checke Disconnect callback e defina os lpfnConnect, lpfnChecke lpfnDisconnect membros de dados adequadamente.
Nota
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 procurará os cartões solicitados. Se um nome de cartão correspondente ou de cadeia de caracteres ATR for encontrado, as funções Connect, Checke Disconnect callback serão chamadas em sequência. Se um cartão passar a rotina Verificar (ou seja, o Verificar retorno de chamada retornará VERDADEIRO), esse cartão será realçado na exibição para o usuário.
Nota
Se vários nomes de cartão forem fornecidos, o primeiro leitor que contém um dos cartões solicitados e passar o Verificar rotina será o cartão selecionado.
Se nenhuma correspondência for encontrada, uma caixa de diálogo comum será exibida.