Partilhar via


Interface de usuário do cartão inteligente

O cartão inteligente interface do usuário(UI) é uma caixa de diálogo única comum que permite ao usuário especificar ou procurar um cartão inteligente para abrir (ou seja, conectar-se e usar em um aplicativo).

A seguir estão 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

  1. Declare uma variável do tipo OPENCARDNAME.
  2. 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 a especificação de um modo de compartilhamento preferencial e protocolo para usar quando a caixa de diálogo comum se conecta ao cartão usando o dwShareMode e dwPreferredProtocols membros da estruturaOPENCARDNAME.
  3. Chame o 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á destacado no display. Para pesquisas de vários nomes de cartões, o primeiro leitor que contém um dos cartões preferidos será destacado.
  4. Em seguida, o usuário seleciona um cartão, clica OKe se conecta ao cartão inteligente.

Para procurar um cartão específico

  1. Declare uma variável do tipo OPENCARDNAME.

  2. 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.

  3. Crie as funções Connect, Checke Disconnect callback e defina o lpfnConnect, lpfnChecke lpfnDisconnect membros de dados apropriadamente.

    Observação

    Todas as três funções e membros devem estar disponíveis ao usar a caixa de diálogo comum dessa maneira.

     

  4. Chame o GetOpenCardName função de caixa de diálogo comum.

  5. 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 na rotina Check (ou seja, o retorno de chamada Check retorna TRUE), esse cartão é destacado na exibição para o usuário.

    Observação

    Se forem fornecidos vários nomes de cartões, o primeiro leitor que contiver um dos cartões solicitados e passar na rotina de Check será o cartão selecionado.

     

  6. Se nenhuma correspondência for encontrada, uma caixa de diálogo comum será exibida.