Fonction SCardGetCardTypeProviderNameA (winscard.h)
La fonction SCardGetCardCardTypeProviderName retourne le nom du module (bibliothèque de liens dynamiques) qui contient le fournisseur pour un nom carte et un type de fournisseur donnés.
Syntaxe
LONG SCardGetCardTypeProviderNameA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCardName,
[in] DWORD dwProviderId,
[out] CHAR *szProvider,
[in, out] LPDWORD pcchProvider
);
Paramètres
[in] hContext
Handle qui identifie le contexte resource manager. Le contexte resource manager peut être défini par un appel précédent à SCardEstablishContext. Cette valeur peut être NULL si l’appel à SCardGetCardCardTypeProviderName n’est pas dirigé vers un contexte spécifique.
[in] szCardName
Nom du type carte auquel ce nom de fournisseur est associé.
[in] dwProviderId
Identificateur du fournisseur associé à ce type carte.
Valeur | Signification |
---|---|
|
La fonction récupère le nom du fournisseur de services principalde l’carte intelligente sous la forme d’une chaîne GUID. |
|
La fonction récupère le nom du fournisseur de services de chiffrement. |
|
La fonction récupère le nom du fournisseur de stockage de clés (KSP) smart carte. |
|
La fonction récupère le nom du module carte. |
[out] szProvider
Variable de chaîne pour recevoir le nom du fournisseur une fois cette fonction terminée.
[in, out] pcchProvider
Pointeur vers la valeur DWORD . Lors de l’entrée, pcchProvider fournit la longueur de la mémoire tampon szProvider en caractères. Si cette valeur est SCARD_AUTOALLOCATE, szProvider est converti en pointeur vers un pointeur d’octet et reçoit l’adresse d’un bloc de mémoire contenant la chaîne. Ce bloc de mémoire doit être libéré en appelant SCardFreeMemory.
Lors de la sortie, cette valeur représente le nombre réel de caractères, y compris le point de terminaison Null , dans la variable szProvider .
Valeur retournée
Cette fonction retourne des valeurs différentes selon qu’elle réussit ou échoue.
Code de retour | Description |
---|---|
|
SCARD_S_SUCCESS. |
|
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.
Une fois cette fonction terminée, la valeur dans szProvider peut être utilisée comme troisième paramètre dans un appel à CryptAcquireContext.
Exemples
L’exemple suivant montre comment récupérer le nom du fournisseur pour le contexte de lecteur spécifié. L’exemple suppose que hContext est un handle valide obtenu à partir d’un appel précédent à la fonction SCardEstablishContext .
LPTSTR szProvider = NULL;
LPTSTR szCardName = _T("WindowsCard");
DWORD chProvider = SCARD_AUTOALLOCATE;
LONG lReturn = SCARD_S_SUCCESS;
// Retrieve the provider name.
// hContext was set by SCardEstablishContext.
lReturn = SCardGetCardTypeProviderName(hContext,
szCardName,
SCARD_PROVIDER_CSP,
(LPTSTR)&szProvider,
&chProvider);
if (SCARD_S_SUCCESS == lReturn)
{
BOOL fSts = TRUE;
HCRYPTPROV hProv = NULL;
// Acquire a Cryptographic operation context.
fSts = CryptAcquireContext(&hProv,
NULL,
szProvider,
PROV_RSA_FULL,
0);
// Perform Cryptographic operations with smart card
// ...
// Free memory allocated by SCardGetCardTypeProviderName.
lReturn = SCardFreeMemory(hContext, szProvider);
}
Notes
L’en-tête winscard.h définit SCardGetCardTypeProviderName comme un 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.
Configuration requise
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] |
Plateforme cible | Windows |
En-tête | winscard.h |
Bibliothèque | Winscard.lib |
DLL | Winscard.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour