ISCard::AttachByReader, méthode
[La méthode AttachByReader peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Exigences. 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 AttachByReader ouvre le carte intelligent dans le lecteur nommé.
Syntaxe
HRESULT AttachByReader(
[in] BSTR bstrReaderName,
[in] SCARD_SHARE_MODES ShareMode,
[in] SCARD_PROTOCOLS PrefProtocol
);
Paramètres
-
bstrReaderName [in]
-
BSTR qui contient le nom du lecteur smart carte.
-
ShareMode [in]
-
Mode dans lequel revendiquer l’accès au carte intelligent.
Valeur Signification - EXCLUSIVE
Personne d’autre n’utilise cette connexion au carte intelligent. - PARTAGÉ
D’autres applications peuvent utiliser cette connexion. -
PrefProtocol [in]
-
Valeur de protocole préférée.
-
T0
-
T1
-
RAW
-
T0| T1
-
Valeur retournée
La méthode retourne l’une des valeurs possibles suivantes.
Code de retour | Description |
---|---|
|
L’ouverture sur le carte intelligent dans le lecteur nommé a été effectuée avec succès. |
|
Il existe un problème avec un ou plusieurs des paramètres passés à la fonction. |
Notes
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 smart carte a été appelée pour terminer la demande. Pour plus d’informations, consultez Valeurs de retour de carte à puce.
Lorsque vous avez terminé d’utiliser le lecteur, relâchez la pièce jointe en appelant la méthode ISCard::D etach .
Exemples
L’exemple suivant montre l’attachement à un carte intelligent dans un lecteur smart carte spécifié.
#include <windows.h>
#include <stdio.h>
#include <Scardmgr.h>
// The reader name is vendor specific; change as needed.
#define READER_NAME L"Vendor Reader 0"
void main()
{
BSTR bstrReader = NULL;
HRESULT hr;
bstrReader = SysAllocString(READER_NAME);
if (NULL == bstrReader)
{
// Error encountered.
exit(1);
}
// Connect to the reader.
hr = pISCard->AttachByReader(bstrReader, SHARED, T0);
if (FAILED(hr))
{
printf("Failed AttachByReader\n");
// Take other error handling action.
// ...
}
// Detach reader by calling ISCard::Detach (not shown).
// ...
// When done, free BSTR.
if (NULL != bstrReader)
SysFreeString(bstrReader);
}
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] |
Fin de la prise en charge des clients |
Windows XP |
Fin de la prise en charge des serveurs |
Windows Server 2003 |
En-tête |
|
Bibliothèque de types |
|
DLL |
|
IID |
IID_ISCard est défini comme 1461AAC3-6810-11D0-918F-00AA00C18068 |
Voir aussi