SCardGetReaderIconA-Funktion (winscard.h)
Die funktion SCardGetReaderIcon erhält ein Symbol des Smartcardlesers für den Namen eines bestimmten Lesers. Diese Funktion wirkt sich nicht auf den Zustand des Kartenlesers aus.
Syntax
LONG SCardGetReaderIconA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReaderName,
[out] LPBYTE pbIcon,
[in, out] LPDWORD pcbIcon
);
Parameter
[in] hContext
Behandeln Sie dies, um den Ressourcen-Manager-Kontext für die Abfrage zu identifizieren. Sie können den Ressourcen-Manager-Kontext durch einen vorherigen Aufruf der SCardEstablishContext-Funktion festlegen. Dieser Parameter kann nicht NULL-werden.
[in] szReaderName
Lesename. Sie können diesen Wert abrufen, indem Sie die funktion SCardListReaders aufrufen.
[out] pbIcon
Zeigen Sie auf einen Puffer, der ein BLOB des Smartcardlesersymbols enthält, wie aus der Symboldatei gelesen. Wenn dieser Wert NULL-ist, ignoriert die Funktion die pufferlänge, die im parameter pcbIcon angegeben ist, schreibt die Länge des Puffers, der an pcbIcon zurückgegeben würde, wenn dieser Parameter nicht NULL war, 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 wird, 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 behandelt werden.
Rückgabewert
Diese Funktion gibt unterschiedliche Werte zurück, je nachdem, ob sie erfolgreich ist oder fehlschlägt.
Rückgabecode | Beschreibung |
---|---|
|
SCARD_S_SUCCESS. |
|
Fehlercode. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte. |
Bemerkungen
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);
}
Anmerkung
Der winscard.h-Header definiert SCardGetReaderIcon als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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 8 [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2012 [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winscard.h |