Freigeben über


SCardGetStatusChangeA-Funktion (winscard.h)

Die SCardGetStatusChange--Funktion blockiert die Ausführung, bis sich die aktuelle Verfügbarkeit der Karten in einer bestimmten Gruppe von Lesern ändert.

Der Aufrufer stellt eine Liste von Lesern bereit, von einem SCARD_READERSTATE Array und der maximalen Zeitdauer (in Millisekunden) überwacht werden, die bereit ist, auf eine Aktion für einen der aufgeführten Leser zu warten. Beachten Sie, dass SCardGetStatusChange den vom Benutzer bereitgestellten Wert in den dwCurrentState Member des rgReaderStatesSCARD_READERSTATE Arrays als Definition des aktuellen Zustands der Leser verwendet. Die Funktion gibt zurück, wenn sich die Verfügbarkeit ändert und die dwEventState Member von rgReaderState s entsprechend ausgefüllt wurde.

Syntax

LONG SCardGetStatusChangeA(
  [in]      SCARDCONTEXT         hContext,
  [in]      DWORD                dwTimeout,
  [in, out] LPSCARD_READERSTATEA rgReaderStates,
  [in]      DWORD                cReaders
);

Parameter

[in] hContext

Ein Handle, das den Kontext des Ressourcen-Managersidentifiziert. Der Ressourcen-Manager-Kontext wird durch einen vorherigen Aufruf der SCardEstablishContext-funktion festgelegt.

[in] dwTimeout

Die maximale Zeitdauer in Millisekunden, um auf eine Aktion zu warten. Ein Wert von Null bewirkt, dass die Funktion sofort zurückgegeben wird. Ein Wert von INFINITE bewirkt, dass diese Funktion niemals ein Timeout hat.

[in, out] rgReaderStates

Ein Array von SCARD_READERSTATE Strukturen, die die zu überwachenden Leser angeben und das Ergebnis erhält.

Um über die Ankunft eines neuen Smartcardlesers benachrichtigt zu werden, legen Sie den szReader Mitglied einer SCARD_READERSTATE Struktur auf "\\" fest? PnP?\Notification", und legen Sie alle anderen Elemente dieser Struktur auf Null fest.

Wichtig Jedes Element jeder Struktur in diesem Array muss auf Null initialisiert und dann bei Bedarf auf bestimmte Werte festgelegt werden. Wenn dies nicht geschehen ist, schlägt die Funktion in Situationen fehl, in denen Remotekartenleser beteiligt sind.
 

[in] cReaders

Die Anzahl der Elemente in der rgReaderStates Arrays.

Rückgabewert

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

Rückgabecode Beschreibung
Erfolg
SCARD_S_SUCCESS.
Fehler
Fehlercode. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.

Bemerkungen

Die -Funktion SCardGetStatusChange ist eine Smartcard- Tracking-Funktion. Weitere Informationen zu anderen Tracking-Funktionen finden Sie unter SmartCard Tracking Functions.

Beispiele

Informationen zum Aufrufen dieser Funktion finden Sie im Beispiel in SCardLocateCards.

Anmerkung

Der winscard.h-Header definiert SCardGetStatusChange als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- winscard.h
Library Winscard.lib
DLL- Winscard.dll

Siehe auch

SCARD_READERSTATE

SCardCancel-

SCardEstablishContext-

SCardLocateCards