Funzione SCardListInterfacesW (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 al sottosistema e riceve l'elenco di interfacce supportate dalla scheda.

Sintassi

LONG SCardListInterfacesW(
  [in]      SCARDCONTEXT hContext,
  [in]      LPCWSTR      szCard,
  [out]     LPGUID       pguidInterfaces,
  [in, out] LPDWORD      pcguidInterfaces
);

Parametri

[in] hContext

Handle che identifica il contesto di Resource Manager 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 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 fornita in pcguidInterfaces, restituendo le dimensioni della matrice che sarebbe stata restituita se questo parametro non fosse stato NULL per pcguidInterfaces e un codice di esito positivo.

[in, out] pcguidInterfaces

Dimensioni della matrice pcguidInterfaces e riceve le dimensioni effettive della matrice restituita. Se le dimensioni della matrice vengono specificate come SCARD_AUTOALLOCATE, pcguidInterfaces viene convertito in un puntatore a 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
Success
SCARD_S_SUCCESS.
Operazioni non riuscite
Codice di errore. Per altre informazioni, vedere Valori restituiti smart card.

Commenti

Questa funzione non viene reindirizzata, ma la chiamata alla funzione durante il tentativo di una sessione desktop remoto non genera un errore. Significa solo che il risultato sarà dal computer remoto anziché dal computer locale.

La funzione SCardListInterfaces è una funzione di query di database. Per altre informazioni su altre funzioni di query di database, vedere Funzioni di query del database smart card.

Esempio

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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winscard.h
Libreria Winscard.lib
DLL Winscard.dll

Vedi anche

SCardEstablishContext

SCardFreeMemory

SCardGetProviderId

SCardListCardCards

SCardListReaderGroups

SCardListReaders