Partager via


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
S_OK
L’ouverture sur le carte intelligent dans le lecteur nommé a été effectuée avec succès.
E_INVALIDARG
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
Scardmgr.h
Bibliothèque de types
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCard est défini comme 1461AAC3-6810-11D0-918F-00AA00C18068

Voir aussi

AttachByHandle

Detach

Carte ISCard

Rattacher