Compartilhar via


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

  1. Declare uma variável do tipo OPENCARDNAME.
  2. 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.
  3. 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.
  4. 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

  1. Declare uma variável do tipo OPENCARDNAME.

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

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

     

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

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

     

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