Partager via


SCardListInterfacesA, fonction (winscard.h)

La fonction SCardListInterfaces fournit une liste d’interfaces fournies par une carte donnée.

L’appelant fournit le nom d’une carte à puce précédemment introduite dans le sous-système et reçoit la liste des interfaces prises en charge par la carte.

Syntaxe

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

Paramètres

[in] hContext

Handle qui identifie le contexte Resource Manager pour la requête. Le contexte resource manager peut être défini par un appel précédent à SCardEstablishContext. Ce paramètre ne peut pas être NULL.

[in] szCard

Nom de la carte à puce déjà introduite dans le sous-système de carte à puce .

[out] pguidInterfaces

Tableau d’identificateurs d’interface (GUID) qui indiquent les interfaces prises en charge par la carte à puce. Si cette valeur est NULL, SCardListInterfaces ignore la longueur du tableau fournie dans pcguidInterfaces, retournant la taille du tableau qui aurait été retourné si ce paramètre n’avait pas été NULL pour pcguidInterfaces et un code de réussite.

[in, out] pcguidInterfaces

Taille du tableau pcguidInterfaces et reçoit la taille réelle du tableau retourné. Si la taille du tableau est spécifiée comme SCARD_AUTOALLOCATE, pcguidInterfaces est convertie en pointeur vers un pointeur GUID et reçoit l’adresse d’un bloc de mémoire contenant le tableau. Ce bloc de mémoire doit être libéré avec SCardFreeMemory.

Valeur de retour

Cette fonction retourne des valeurs différentes selon qu’elle réussit ou échoue.

Retourner le code Description
Success
SCARD_S_SUCCESS.
échec
Code d’erreur. Pour plus d’informations, consultez valeurs de retour de carte à puce.

Remarques

Cette fonction n’est pas redirigée, mais l’appel de la fonction lors de la tentative d’une session Bureau à distance n’entraîne pas d’erreur. Cela signifie uniquement que le résultat provient de l’ordinateur distant au lieu de l’ordinateur local.

La fonction SCardListInterfaces est une fonction de requête de base de données. Pour plus d’informations sur les autres fonctions de requête de base de données, consultez fonctions de requête de base de données de carte à puce.

Exemples

L’exemple suivant montre la liste des interfaces d’une carte à puce.

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).
    // ...
}

Note

L’en-tête winscard.h définit SCardListInterfaces comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winscard.h
bibliothèque Winscard.lib
DLL Winscard.dll

Voir aussi

SCardEstablishContext

SCardFreeMemory

SCardGetProviderId

SCardListCards

SCardListReaderGroups

SCardListReaders