Função SCardUIDlgSelectCardA (winscard.h)
A função SCardUIDlgSelectCard
Sintaxe
LONG SCardUIDlgSelectCardA(
[in] LPOPENCARDNAMEA_EX unnamedParam1
);
Parâmetros
[in] unnamedParam1
Ponteiro para a estrutura de OPENCARDNAME_EX da caixa de diálogo Selecionar Cartão.
Valor de retorno
Se a função exibir com êxito a caixa de diálogo Selecionar Cartão, o valor retornado será SCARD_S_SUCCESS.
Se a função falhar, ela retornará um código de erro. Para obter mais informações, consulte valores de retorno de cartão inteligente.
Observações
A função SCardUIDlgSelectCard
Valor | Ação |
---|---|
SC_DLG_FORCE_UI | Conecta-se ao cartão selecionado pelo usuário na caixa de diálogo Selecionar Cartão. |
SC_DLG_MINIMAL_UI | Seleciona o cartão inteligente se apenas um cartão inteligente atender aos critérios ou retorna informações sobre a seleção do usuário se mais de um cartão inteligente atender aos critérios. |
SC_DLG_NO_UI | Seleciona o primeiro cartão disponível. |
Essa função substitui GetOpenCardName. A função GetOpenCardName é mantida para compatibilidade com versões anteriores com a versão 1.0 dos Componentes Base de Cartão Inteligente da Microsoft.
Exemplos
O exemplo a seguir mostra como exibir o cartão inteligente caixa de diálogo Selecionar Cartão.
SCARDCONTEXT hSC;
OPENCARDNAME_EX dlgStruct;
WCHAR szReader[256];
WCHAR szCard[256];
LONG lReturn;
// Establish a context.
// It will be assigned to the structure's hSCardContext field.
lReturn = SCardEstablishContext(SCARD_SCOPE_USER,
NULL,
NULL,
&hSC );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardEstablishContext\n");
exit(1);
}
// Initialize the structure.
memset(&dlgStruct, 0, sizeof(dlgStruct));
dlgStruct.dwStructSize = sizeof(dlgStruct);
dlgStruct.hSCardContext = hSC;
dlgStruct.dwFlags = SC_DLG_FORCE_UI;
dlgStruct.lpstrRdr = (LPSTR) szReader;
dlgStruct.nMaxRdr = 256;
dlgStruct.lpstrCard = (LPSTR) szCard;
dlgStruct.nMaxCard = 256;
dlgStruct.lpstrTitle = (LPSTR) "My Select Card Title";
// Display the select card dialog box.
lReturn = SCardUIDlgSelectCard(&dlgStruct);
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardUIDlgSelectCard - %x\n", lReturn );
else
printf("Reader: %S\nCard: %S\n", szReader, szCard );
// Release the context (by SCardReleaseContext - not shown here).
Nota
O cabeçalho winscard.h define SCardUIDlgSelectCard como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winscard.h |
biblioteca | Scarddlg.lib |
de DLL |
Scarddlg.dll |