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 |
---|---|
|
SCARD_S_SUCCESS. |
|
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 |