Funzione SCardListInterfacesA (winscard.h)
La funzione SCardListInterfaces fornisce un elenco di interfacce fornite da una determinata scheda.
Il chiamante fornisce il nome di una smart card introdotta in precedenza nel sottosistema e riceve l'elenco delle interfacce supportate dalla scheda.
Sintassi
LONG SCardListInterfacesA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCard,
[out] LPGUID pguidInterfaces,
[in, out] LPDWORD pcguidInterfaces
);
Parametri
[in] hContext
Handle che identifica il contesto di gestione risorse per la query. Il contesto di Resource Manager può essere impostato da una chiamata precedente a SCardEstablishContext. Questo parametro non può essere NULL.
[in] szCard
Nome della smart card già introdotta nel sottosistema di smart card .
[out] pguidInterfaces
Matrice di identificatori di interfaccia (GUID) che indicano le interfacce supportate dalla smart card. Se questo valore è NULL, SCardListInterfaces ignora la lunghezza della matrice specificata in pcguidInterfaces, restituendo le dimensioni della matrice che sarebbe stata restituita se questo parametro non fosse stato NULL per pcguidInterfaces e un codice di operazione riuscita.
[in, out] pcguidInterfaces
Dimensioni della matrice pcguidInterfaces e riceve le dimensioni effettive della matrice restituita. Se la dimensione della matrice viene specificata come SCARD_AUTOALLOCATE, pcguidInterfaces viene convertita in un puntatore a un puntatore GUID e riceve l'indirizzo di un blocco di memoria contenente la matrice. Questo blocco di memoria deve essere deallocato con SCardFreeMemory.
Valore restituito
Questa funzione restituisce valori diversi a seconda che abbia esito positivo o negativo.
Codice restituito | Descrizione |
---|---|
|
SCARD_S_SUCCESS. |
|
Codice di errore. Per altre informazioni, vedere valori restituiti della smart card. |
Osservazioni
Questa funzione non viene reindirizzata, ma la chiamata alla funzione quando si tenta di eseguire una sessione desktop remoto non genererà un errore. Significa solo che il risultato sarà dal computer remoto anziché dal computer locale.
La funzione SCardListInterfaces
Esempi
L'esempio seguente mostra l'elenco delle interfacce per una smart card.
LPGUID pGuids = NULL;
LONG lReturn;
DWORD cGuid = SCARD_AUTOALLOCATE;
// Retrieve the list of interfaces.
lReturn = SCardListInterfaces(NULL,
(LPCSTR) "MyCard",
(LPGUID)&pGuids,
&cGuid );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardListInterfaces\n");
exit(1); // Or other appropriate action
}
if ( 0 != cGuid )
{
// Do something with the array of Guids.
// Remember to free pGuids when done (by SCardFreeMemory).
// ...
}
Nota
L'intestazione winscard.h definisce SCardListInterfaces come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [solo app desktop] |
server minimo supportato | Windows Server 2003 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
winscard.h |
libreria |
Winscard.lib |
dll | Winscard.dll |