Función SCardUIDlgSelectCardA (winscard.h)
La función
Sintaxis
LONG SCardUIDlgSelectCardA(
[in] LPOPENCARDNAMEA_EX unnamedParam1
);
Parámetros
[in] unnamedParam1
Puntero a la estructura
Valor devuelto
Si la función muestra correctamente el cuadro de diálogo Seleccionar tarjeta, se SCARD_S_SUCCESS el valor devuelto.
Si se produce un error en la función, devuelve un código de error. Para obtener más información, consulte valores devueltos de tarjeta inteligente.
Observaciones
La función SCardUIDlgSelectCard
Valor | Acción |
---|---|
SC_DLG_FORCE_UI | Se conecta a la tarjeta seleccionada por el usuario de la tarjeta inteligente cuadro de diálogo Seleccionar tarjeta. |
SC_DLG_MINIMAL_UI | Selecciona la tarjeta inteligente si solo una tarjeta inteligente cumple los criterios o devuelve información sobre la selección del usuario si más de una tarjeta inteligente cumple los criterios. |
SC_DLG_NO_UI | Selecciona la primera tarjeta disponible. |
Esta función reemplaza GetOpenCardName. La función getOpenCardName de
Ejemplos
En el ejemplo siguiente se muestra cómo mostrar la tarjeta inteligente cuadro de diálogo Seleccionar tarjeta.
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
El encabezado winscard.h define SCardUIDlgSelectCard como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2003 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winscard.h |
biblioteca de |
Scarddlg.lib |
DLL de |
Scarddlg.dll |