Поделиться через


Функция SCardSetAttrib (winscard.h)

Функция SCardSetAttrib задает заданный атрибут средства чтения для заданного дескриптора. Это не влияет на состояниесредства чтения, драйвера чтения или смарт-карта. Не все атрибуты поддерживаются всеми средствами чтения (и не могут быть заданы всегда), так как многие атрибуты находятся под прямым контролем транспортного протокола.

Синтаксис

LONG SCardSetAttrib(
  [in] SCARDHANDLE hCard,
  [in] DWORD       dwAttrId,
  [in] LPCBYTE     pbAttr,
  [in] DWORD       cbAttrLen
);

Параметры

[in] hCard

Значение ссылки, возвращаемое из SCardConnect.

[in] dwAttrId

Идентификатор устанавливаемого атрибута. Значения доступны только для записи. Обратите внимание, что поставщики могут не поддерживать все атрибуты.

Значение Значение
SCARD_ATTR_SUPRESS_T1_IFS_REQUEST
Подавление отправки пакета T=1 IFSD из средства чтения в карта. (Можно использовать, если вставленная в данный момент карта не поддерживает запрос IFSD.)

[in] pbAttr

Указатель на буфер, который предоставляет атрибут, идентификатор которого предоставляется в dwAttrId.

[in] cbAttrLen

Длина (в байтах) значения атрибута в буфере pbAttr .

Возвращаемое значение

Эта функция возвращает различные значения в зависимости от того, успешно или неудачно.

Код возврата Описание
Успешно
SCARD_S_SUCCESS.
Failure
Код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.

Комментарии

Функция SCardSetAttrib является функцией прямого доступа карта. Сведения о других функциях прямого доступа см. в разделе Функции прямого доступа к карточкам.

Примеры

В следующем примере показано, как задать атрибут .

// Set the attribute.
// hCardHandle was set by a previous call to SCardConnect.
// dwAttrID is a DWORD value, specifying the attribute ID.
// pbAttr points to the buffer of the new value.
// cByte is the count of bytes in the buffer.
lReturn = SCardSetAttrib(hCardHandle,
                         dwAttrID,
                         (LPBYTE)pbAttr,
                         cByte);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardSetAttrib\n");

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winscard.h
Библиотека Winscard.lib
DLL Winscard.dll

См. также раздел

SCardConnect

SCardGetAttrib