Funzione SCardGetReaderIconA (winscard.h)
La funzione SCardGetReaderIcon ottiene un'icona del lettore smart card per il nome di un determinato lettore. Questa funzione non influisce sullo stato del lettore di schede.
Sintassi
LONG SCardGetReaderIconA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReaderName,
[out] LPBYTE pbIcon,
[in, out] LPDWORD pcbIcon
);
Parametri
[in] hContext
Handle che identifica il contesto di Resource Manager per la query. È possibile impostare il contesto di Resource Manager tramite una chiamata precedente alla funzione SCardEstablishContext . Questo parametro non può essere NULL.
[in] szReaderName
Nome lettore. È possibile ottenere questo valore chiamando la funzione SCardListReaders .
[out] pbIcon
Puntatore a un buffer che contiene un BLOB dell'icona di lettura smart card come lettore di smart card come letto dal file dell'icona. Se questo valore è NULL, la funzione ignora la lunghezza del buffer fornita nel parametro pcbIcon , scrive la lunghezza del buffer che sarebbe stato restituito a pcbIcon se questo parametro non fosse stato NULL e restituisce un codice riuscito.
[in, out] pcbIcon
Lunghezza, in caratteri, del buffer pbIcon . Questo parametro riceve la lunghezza effettiva dell'attributo ricevuto. Se la lunghezza del buffer viene specificata come SCARD_AUTOALLOCATE, pbIcon viene convertito da un puntatore a un puntatore a un puntatore di byte e riceve l'indirizzo di un blocco di memoria contenente l'attributo. Questo blocco di memoria deve essere deallocato con la funzione SCardFreeMemory .
Valore restituito
Questa funzione restituisce valori diversi a seconda che abbia esito positivo o negativo.
Codice restituito | Descrizione |
---|---|
|
SCARD_S_SUCCESS. |
|
Codice di errore. Per altre informazioni, vedere Valori restituiti smart card. |
Commenti
L'icona deve essere 256 × 256 pixel senza canale alfa.
Esempi
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);
}
Nota
L'intestazione winscard.h definisce SCardGetReaderIcon come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [solo app desktop] |
Server minimo supportato | Windows Server 2012 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winscard.h |