ISCard::AttachByReader-Methode

[Die AttachByReader-Methode ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Es ist nicht für die Verwendung in Windows Server 2003 mit Service Pack 1 (SP1) und höher, Windows Vista, Windows Server 2008 und nachfolgenden Versionen des Betriebssystems verfügbar. Die Smartcardmodule bieten ähnliche Funktionen.]

Die AttachByReader-Methode öffnet die Smartcard im benannten Reader.

Syntax

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

Parameter

bstrReaderName [ In]

Ein BSTR, der den Namen des Smartcardlesers enthält.

ShareMode [ In]

Modus, in dem der Zugriff auf die Smartcard beansprucht werden soll.

Wert Bedeutung
EXKLUSIVE
Diese Verbindung mit der Smartcard wird von niemand anderem verwendet.
GETEILT
Andere Anwendungen können diese Verbindung verwenden.

PrefProtocol [ In]

Bevorzugter Protokollwert.

T0

T1

RAW

T0 | T1

Rückgabewert

Die -Methode gibt einen der folgenden möglichen Werte zurück.

Rückgabecode Beschreibung
S _ OK
Das Öffnen auf der Smartcard im benannten Reader wurde erfolgreich abgeschlossen.
E _ INVALIDARG
Es liegt ein Problem mit einem oder mehreren parametern vor, die an die Funktion übergeben werden.

Bemerkungen

Zusätzlich zu den oben aufgeführten COM-Fehlercodes gibt diese Schnittstelle möglicherweise einen Smartcardfehlercode zurück, wenn eine Smartcardfunktion aufgerufen wurde, um die Anforderung abzuschließen. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.

Wenn Sie die Verwendung des Readers abgeschlossen haben, geben Sie die Anlage frei, indem Sie die ISCard::D etach-Methode aufrufen.

Beispiele

Das folgende Beispiel zeigt das Anfügen an eine Smartcard in einem angegebenen Smartcardleser.

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

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows [Nur XP-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2003-Desktop-Apps]
Ende des Supports (Client)
Windows XP
Ende des Supports (Server)
Windows Server 2003
Header
Scardmgr.h
Typbibliothek
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID _ ISCard ist als 1461AAC3-6810-11D0-918F-00AA00C18068 definiert.

Weitere Informationen

AttachByHandle

Trennen

ISCard

Anfügen