ISCardISO7816::ReadBinary 方法
[ ReadBinary 方法可用于“要求”部分中指定的操作系统。 它不适用于 Windows Server 2003 Service Pack 1 (SP1) 及更高版本、Windows Vista、Windows Server 2008 和操作系统的后续版本。 智能卡模块提供类似的功能。]
ReadBinary 方法 (APDU) 命令构造应用程序协议数据单元,该命令获取响应消息,该消息提供透明结构化基本文件的部分内容。
语法
HRESULT ReadBinary(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LONG lBytesToRead,
[in, out] LPSCARDCMD *ppCmd
);
parameters
-
byP1 [in]
-
P1-P2 字段,偏移到要从文件开头读取的第一个字节。 如果 P1 中的 b8=1,则 P1 的 b7 和 b6 设置为零 (RFU 位) ,P1 的 b5 到 b1 是短 EF 标识符,P2 是从文件开头以数据单位读取的第一个字节的偏移量。 如果 P1 中的 b8=0,则 P1||P2 是从文件开头开始以数据单位为单位读取的第一个字节的偏移量。
-
byP2 [in]
-
P1-P2 字段,偏移到要从文件开头读取的第一个字节。 如果 P1 中的 b8=1,则 P1 的 b7 和 b6 设置为零 (RFU 位) ,P1 的 b5 到 b1 是短 EF 标识符,P2 是从文件开头以数据单位读取的第一个字节的偏移量。 如果 P1 中的 b8=0,则 P1||P2 是从文件开头开始以数据单位为单位读取的第一个字节的偏移量。
-
lBytesToRead [in]
-
要从透明 EF 读取的字节数。
如果 Le 字段仅包含零,则在短长度限制为 256 或扩展长度限制为 65536 内,应读取文件结束前的所有字节。
-
ppCmd [in, out]
-
输入时,指向 ISCardCmd 接口对象的指针或 NULL。
返回时,会用此操作构造的 APDU 命令填充该命令。 如果 ppCmd 设置为 NULL,则会在内部创建智能卡ISCardCmd 对象并使用 ppCmd 指针返回。
返回值
方法返回以下可能值之一。
返回代码 | 说明 |
---|---|
|
操作已成功完成。 |
|
参数无效。 |
|
传入了错误的指针。 |
|
内存不足。 |
备注
仅当智能卡的安全状态满足正在处理的基本文件的安全属性时,才能执行封装的命令。
当命令包含有效的短基本标识符时,它会将文件设置为当前基本文件。
无法擦除没有透明结构的基本文件。 如果应用于没有透明结构的基本文件,封装的命令将中止。
有关此接口提供的所有方法的列表,请参阅 ISCardISO7816。
除了上面列出的 COM 错误代码之外,如果调用智能卡函数来完成请求,则此接口可能返回智能卡错误代码。 有关详细信息,请参阅 智能卡返回值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
终止客户端支持 |
Windows XP |
终止服务器支持 |
Windows Server 2003 |
标头 |
|
类型库 |
|
DLL |
|
IID |
IID_ISCardISO7816定义为 53B6AA68-3F56-11D0-916B-00AA00C18068 |
另请参阅