Partager via


ISCardDatabase::GetProviderCardId, méthode

[La méthode GetProviderCardId est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il n’est pas disponible pour une utilisation dans Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures, Windows Vista, Windows Server 2008 et les versions ultérieures du système d’exploitation. Les modules de carte à puce offrent des fonctionnalités similaires.]

La méthode GetProviderCardId récupère l’identificateur (GUID) du fournisseur de services principal pour le carte intelligent spécifié.

Syntaxe

HRESULT GetProviderCardId(
  [in]  BSTR   bstrCardName,
  [out] LPGUID *ppguidProviderId
);

Paramètres

bstrCardName [in]

Nom du carte intelligent.

ppguidProviderId [out]

Pointeur vers l’identificateur (GUID) du fournisseur de services principal en cas de réussite ; NULL si l’opération a échoué.

Valeur retournée

La méthode retourne l’une des valeurs possibles suivantes.

Code de retour Description
S_OK
Opération exécutée avec succès.
E_INVALIDARG
Paramètre non valide.
E_POINTER
Un pointeur incorrect a été passé dans ppguidProviderId.
E_OUTOFMEMORY
Mémoire insuffisante.

 

Notes

Pour répertorier les interfaces du carte intelligent, appelez ListCardInterfaces.

Pour récupérer toutes les cartes à puce, lecteurs et groupes de lecteurs connus, appelez ListCards, ListReaders et ListReaderGroups respectivement.

Pour obtenir la liste de toutes les méthodes fournies par cette interface, consultez ISCardDatabase.

En plus des codes d’erreur COM répertoriés ci-dessus, cette interface peut renvoyer un code d’erreur smart carte si une fonction de carte intelligente a été appelée pour terminer la demande. Pour plus d’informations, consultez Valeurs de retour de carte à puce.

Exemples

L’exemple suivant montre comment récupérer l’identificateur du fournisseur de services principal pour le carte intelligent spécifié.

BSTR     bstrCard = NULL;
LPGUID   pguidProvId = NULL;
HRESULT  hr;

bstrCard = SysAllocString(L"My Card");
hr = pISCDataBase->GetProviderCardId(bstrCard,&pguidProvId);
if (FAILED(hr))
{
   printf("Failed GetProviderCardId\n");
}
else
{
    // Use pguidProvId as needed.
}

// Free BSTR when done.
if ( NULL != bstrCard )
{
    SysFreeString(bstrCard);
    bstrCard=NULL;
}

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
Fin de la prise en charge des clients
Windows XP
Fin de la prise en charge des serveurs
Windows Server 2003
En-tête
Scardmgr.h
Bibliothèque de types
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardDatabase est défini comme 1461AAC8-6810-11D0-918F-00AA00C18068

Voir aussi

ISCardDatabase

ListCardInterfaces

Cartes de liste

ListReaderGroups

ListReaders