Функция SCardGetReaderIconA (winscard.h)
Функция SCardGetReaderIcon получает значок средства чтения смарт-карт для заданного имени читателя. Эта функция не влияет на состояние средства чтения карт.
Синтаксис
LONG SCardGetReaderIconA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReaderName,
[out] LPBYTE pbIcon,
[in, out] LPDWORD pcbIcon
);
Параметры
[in] hContext
Дескриптор, определяющий контекст диспетчера ресурсов для запроса. Контекст диспетчера ресурсов можно задать предыдущим вызовом функции SCardEstablishContext. Этот параметр не может быть значение NULL.
[in] szReaderName
Имя читателя. Это значение можно получить, вызвав функцию SCardListReaders.
[out] pbIcon
Указатель на буфер, содержащий БОЛЬШОЙ ДВОИЧНЫй объект значка средства чтения смарт-карт, как считывается из файла значка. Если это значение равно NULL, функция игнорирует длину буфера, указанную в параметре pcbIcon, записывает длину буфера, который был возвращен в pcbIcon, если этот параметр не был NULL, и возвращает код успешного выполнения.
[in, out] pcbIcon
Длина в символах буфера pbIcon. Этот параметр получает фактическую длину полученного атрибута. Если длина буфера указана как SCARD_AUTOALLOCATE, то pbIcon преобразуется из указателя на байтовый указатель и получает адрес блока памяти, содержащего атрибут. Этот блок памяти должен быть освобожден с помощью функции SCardFreeMemory.
Возвращаемое значение
Эта функция возвращает разные значения в зависимости от того, выполнена ли она успешно или завершается сбоем.
Возвращаемый код | Описание |
---|---|
|
SCARD_S_SUCCESS. |
|
Код ошибки. Дополнительные сведения см. в возвращаемых значений смарт-карт. |
Замечания
Значок должен составлять 256 × 256 пикселей без альфа-канала.
Примеры
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);
}
Заметка
Заголовок winscard.h определяет SCardGetReaderIcon как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8 [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2012 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winscard.h |