SCardGetReaderIconA-Funktion (winscard.h)

Die SCardGetReaderIcon-Funktion ruft ein Symbol des smart Karte Reader für den Namen eines bestimmten Lesers ab. Diese Funktion wirkt sich nicht auf den Zustand des Karte-Readers aus.

Syntax

LONG SCardGetReaderIconA(
  [in]      SCARDCONTEXT hContext,
  [in]      LPCSTR       szReaderName,
  [out]     LPBYTE       pbIcon,
  [in, out] LPDWORD      pcbIcon
);

Parameter

[in] hContext

Handle, das den Ressourcen-Manager-Kontext für die Abfrage identifiziert. Sie können den Ressourcen-Manager-Kontext durch einen vorherigen Aufruf der SCardEstablishContext-Funktion festlegen. Dieser Parameter darf nicht NULL sein.

[in] szReaderName

Lesername. Sie können diesen Wert abrufen, indem Sie die SCardListReaders-Funktion aufrufen.

[out] pbIcon

Zeiger auf einen Puffer, der ein BLOB des Intelligenten Karte Lesersymbols enthält, als aus der Symboldatei gelesen. Wenn dieser Wert NULL ist, ignoriert die Funktion die im parameter pcbIcon angegebene Pufferlänge, schreibt die Länge des Puffers, der an pcbIcon zurückgegeben worden wäre, wenn dieser Parameter nicht NULL gewesen wäre, und gibt einen Erfolgscode zurück.

[in, out] pcbIcon

Länge des pbIcon-Puffers in Zeichen. Dieser Parameter empfängt die tatsächliche Länge des empfangenen Attributs. Wenn die Pufferlänge als SCARD_AUTOALLOCATE angegeben ist, wird pbIcon von einem Zeiger in einen Bytezeiger konvertiert und empfängt die Adresse eines Speicherblocks, der das Attribut enthält. Dieser Speicherblock muss mit der SCardFreeMemory-Funktion aufgehoben werden.

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

Das Symbol sollte 256 × 256 Pixel ohne Alphakanal sein.

Beispiele

PBYTE    pbIcon = NULL;
DWORD    cbIcon = SCARD_AUTOALLOCATE;
DWORD    i;
LONG     lReturn;
LPTSTR   szReaderName = "USB Smart Card Reader 0";

// Retrieve the reader's icon.
// hContext was set by a previous call to SCardEstablishContext.
lReturn = SCardGetReaderIcon(hContext,
                         szReaderName,
                         (PBYTE)&pbIcon,
                         &cbIcon);

if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardGetReaderIcon - %x\n", lReturn);
    // Take appropriate action.
}
else
{
    // Free the memory when done. 
    lReturn = SCardFreeMemory(hContext, pbIcon);
}

Hinweis

Der winscard.h-Header definiert SCardGetReaderIcon 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
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winscard.h