SCardGetProviderIdW, fonction (winscard.h)

La fonction SCardGetProviderId retourne l’identificateur (GUID) du fournisseur de services principal pour une carte donnée.

L’appelant fournit le nom d’une carte à puce (précédemment introduite au système) et reçoit l’identificateur inscrit du GUID du fournisseur de services principal, le cas échéant.

Syntaxe

LONG SCardGetProviderIdW(
  [in]  SCARDCONTEXT hContext,
  [in]  LPCWSTR      szCard,
  [out] LPGUID       pguidProviderId
);

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 définie pour le système.

[out] pguidProviderId

Identificateur (GUID) du fournisseur de services principal. Ce fournisseur peut être activé à l’aide de COM et fournira l’accès à d’autres services dans la carte.

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 à l’intérieur 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 SCardGetProviderId 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 comment obtenir l’ID de fournisseur pour la carte spécifiée. L’exemple suppose que hContext est un handle valide obtenu à partir d’un appel précédent à la fonction SCardEstablishContext et que « MyCardName » a été introduit par un appel précédent à la fonction SCardIntroduceCardType.

GUID    guidProv;
LONG    lReturn;

lReturn = SCardGetProviderId(hContext, 
                             L"MyCardName",
                             &guidProv);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardGetProviderId - %x\n", lReturn);
else
{
    // Use the provider GUID as needed.
    // ...
}

Notes

L’en-tête winscard.h définit SCardGetProviderId 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

SCardListCards

SCardListInterfaces

SCardListReaderGroups

SCardListReaders