SCardControl-Funktion (winscard.h)

Mit der SCardControl-Funktion können Sie den Reader direkt steuern. Sie können es jederzeit nach einem erfolgreichen Aufruf von SCardConnect und vor einem erfolgreichen Aufruf von SCardDisconnect aufrufen. Die Auswirkung auf den Zustand des Lesegeräts hängt vom Steuerungscode ab.

Syntax

LONG SCardControl(
  [in]  SCARDHANDLE hCard,
  [in]  DWORD       dwControlCode,
  [in]  LPCVOID     lpInBuffer,
  [in]  DWORD       cbInBufferSize,
  [out] LPVOID      lpOutBuffer,
  [in]  DWORD       cbOutBufferSize,
  [out] LPDWORD     lpBytesReturned
);

Parameter

[in] hCard

Verweiswert, der von SCardConnect zurückgegeben wird.

[in] dwControlCode

Steuerungscode für den Vorgang. Dieser Wert gibt den spezifischen Vorgang an, der ausgeführt werden soll.

[in] lpInBuffer

Zeiger auf einen Puffer, der die zum Ausführen des Vorgangs erforderlichen Daten enthält. Dieser Parameter kann NULL sein, wenn der dwControlCode-Parameter einen Vorgang angibt, für den keine Eingabedaten erforderlich sind.

[in] cbInBufferSize

Größe des Puffers, auf den lpInBuffer verweist, in Bytes.

[out] lpOutBuffer

Zeiger auf einen Puffer, der die Ausgabedaten des Vorgangs empfängt. Dieser Parameter kann NULL sein, wenn der dwControlCode-Parameter einen Vorgang angibt, der keine Ausgabedaten erzeugt.

[in] cbOutBufferSize

Größe des Puffers, auf den lpOutBuffer verweist, in Bytes.

[out] lpBytesReturned

Zeiger auf ein DWORD , das die Größe der Daten empfängt, die in dem Puffer gespeichert sind, auf den lpOutBuffer verweist.

Rückgabewert

Diese Funktion gibt unterschiedliche Werte zurück, je nachdem, ob sie erfolgreich ist oder fehlschlägt.

Rückgabecode BESCHREIBUNG
Erfolgreich
SCARD_S_SUCCESS.
Fehler
Ein Fehlercode. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.

Hinweise

Die SCardControl-Funktion ist eine direkte Karte-Zugriffsfunktion. Weitere Informationen zu anderen Direktzugriffsfunktionen finden Sie unter Funktionen für den direkten Kartenzugriff.

Beispiele

Das folgende Beispiel gibt einen Steuerelementcode aus. Im Beispiel wird davon ausgegangen, dass hCardHandle ein gültiges Handle ist, das von einem vorherigen Aufruf von SCardConnect empfangen wurde, und dass dwControlCode eine Variable vom Typ DWORD ist, die zuvor für einen gültigen Steuerelementcode initialisiert wurde. Dieser spezielle Steuerelementcode erfordert keine Eingabedaten und erwartet keine Ausgabedaten.


lReturn = SCardControl( hCardHandle,
                        dwControlCode,
                        NULL,
                        0,
                        NULL,
                        0,
                        0 );
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardControl\n");

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winscard.h
Bibliothek Winscard.lib
DLL Winscard.dll

Weitere Informationen

SCardConnect

SCardDisconnect