SCardSetAttrib 函数 (winscard.h)
SCardSetAttrib 函数为给定句柄设置给定读取器属性。 它不会影响读取器、读取器驱动程序或智能卡的状态。 并非所有属性都受所有读取器 (也不能在) 设置,因为许多属性都受传输协议的直接控制。
语法
LONG SCardSetAttrib(
[in] SCARDHANDLE hCard,
[in] DWORD dwAttrId,
[in] LPCBYTE pbAttr,
[in] DWORD cbAttrLen
);
参数
[in] hCard
从 SCardConnect 返回的引用值。
[in] dwAttrId
要设置的属性的标识符。 这些值是只写的。 请注意,供应商可能并不支持所有属性。
值 | 含义 |
---|---|
|
禁止将 T=1 IFSD 数据包从读取器发送到卡。 如果当前插入的卡不支持 IFSD 请求,则可以使用 (。) |
[in] pbAttr
指向缓冲区的指针,该缓冲区提供其 ID 以 dwAttrId 提供的属性。
[in] cbAttrLen
pbAttr 缓冲区中属性值) 长度 (字节。
返回值
此函数根据是成功还是失败返回不同的值。
返回代码 | 说明 |
---|---|
|
SCARD_S_SUCCESS。 |
|
错误代码。 有关详细信息,请参阅 智能卡返回值。 |
注解
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 |
标头 | winscard.h |
Library | Winscard.lib |
DLL | Winscard.dll |