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 |
|---|---|
|
Das Öffnen auf der Smartcard im benannten Reader wurde erfolgreich abgeschlossen. |
|
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 |
|
| Typbibliothek |
|
| DLL |
|
| IID |
IID _ ISCard ist als 1461AAC3-6810-11D0-918F-00AA00C18068 definiert. |