Condividi tramite


Metodo ISCard::AttachByReader

[Il metodo AttachByReader è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Non è disponibile per l'uso in Windows Server 2003 con Service Pack 1 (SP1) e versioni successive, Windows Vista, Windows Server 2008 e versioni successive del sistema operativo. I moduli smart card offrono funzionalità simili.

Il metodo AttachByReader apre la smart card nel lettore denominato.

Sintassi

HRESULT AttachByReader(
  [in] BSTR              bstrReaderName,
  [in] SCARD_SHARE_MODES ShareMode,
  [in] SCARD_PROTOCOLS   PrefProtocol
);

Parametri

bstrReaderName [in]

BSTR che contiene il nome del lettore smart card.

ShareMode [in]

Modalità in cui richiedere l'accesso alla smart card.

Valore Significato
ESCLUSIVO
Nessun altro usa questa connessione alla smart card.
CONDIVISO
Altre applicazioni possono usare questa connessione.

 

PrefProtocol [in]

Valore del protocollo preferito.

T0

T1

RAW

T0 | T1

Valore restituito

Il metodo restituisce uno dei valori possibili seguenti.

Codice restituito Descrizione
S_OK
Aprire sulla smart card nel lettore denominato è stato completato correttamente.
E_INVALIDARG
C'è qualcosa di sbagliato con uno o più parametri passati alla funzione.

 

Commenti

Oltre ai codici di errore COM elencati in precedenza, questa interfaccia può restituire un codice di errore della smart card se è stata chiamata una funzione smart card per completare la richiesta. Per altre informazioni, vedere Valori restituiti smart card.

Al termine dell'uso del lettore, rilasciare l'allegato chiamando il metodo ISCard::D etach .

Esempio

Nell'esempio seguente viene illustrato il collegamento a una smart card in un lettore di smart card specificato.

#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);
}

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Fine del supporto client
Windows XP
Fine del supporto server
Windows Server 2003
Intestazione
Scardmgr.h
Libreria dei tipi
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCard è definito come 1461AAC3-6810-11D0-918F-00AA0C18068

Vedi anche

AttachByHandle

Scollega

ISCard

Ricollegare