ISCardISO7816::EraseBinary 方法

[ EraseBinary 方法可用于“要求”部分中指定的操作系统。 它不适用于 Windows Server 2003 Service Pack 1 (SP1) 及更高版本、Windows Vista、Windows Server 2008 和操作系统的后续版本。 智能卡模块提供类似的功能。]

EraseBinary 方法 (APDU) 命令构造应用程序协议数据单元,该命令从给定偏移量开始,按顺序将基本文件的一部分内容设置为其逻辑擦除状态。

语法

HRESULT EraseBinary(
  [in]      BYTE         byP1,
  [in]      BYTE         byP2,
  [in]      LPBYTEBUFFER pData,
  [in, out] LPSCARDCMD   *ppCmd
);

parameters

byP1 [in]

RFU 位置。

如果 P1 中的 b8=1,则 p1 的 b7 和 b6 设置为零, (RFU 位) ,P1 的 b5 到 b1 是短 EF 标识符,P2 是要擦除的第一个字节的偏移量, (数据单位) 文件开头。

如果 P1 中的 b8=0,则为 P1 ||P2 是从文件开头) 的数据单位 (要擦除的第一个字节的偏移量。

如果数据字段存在,它将编码第一个要擦除的数据单元的偏移量。 此偏移量应高于 P1-P2 中编码的偏移量。 当数据字段为空时,命令会擦除到文件末尾。

byP2 [in]

RFU 位置。

如果 P1 中的 b8=1,则 p1 的 b7 和 b6 设置为零, (RFU 位) ,P1 的 b5 到 b1 是短 EF 标识符,P2 是要擦除的第一个字节的偏移量, (数据单位) 文件开头。

如果 P1 中的 b8=0,则为 P1 ||P2 是从文件开头) 的数据单位 (要擦除的第一个字节的偏移量。

如果数据字段存在,它将编码第一个要擦除的数据单元的偏移量。 此偏移量应高于 P1-P2 中编码的偏移量。 当数据字段为空时,命令会擦除到文件末尾。

pData [in]

指向指定擦除范围的数据的指针。 此参数可以为 NULL

ppCmd [in, out]

输入时,指向 ISCardCmd 接口对象的指针或 NULL

返回时,会用此操作构造的 APDU 命令填充它。 如果 ppCmd 设置为 NULL,则会使用 ppCmd 指针在内部创建并返回智能卡ISCardCmd 对象。

返回值

方法返回以下可能值之一。

返回代码 说明
S_OK
操作已成功完成。
E_INVALIDARG
传递了无效的参数。
E_POINTER
传入了错误的指针。
E_OUTOFMEMORY
内存不足。

 

备注

仅当智能卡的安全状态满足正在处理的基本文件的安全属性时,才能执行封装的命令。

当命令包含有效的短基本标识符时,它会将文件设置为当前基本文件。

不能擦除没有透明结构的基本文件。 如果应用于没有透明结构的基本文件,封装的命令会中止。

有关此接口提供的所有方法的列表,请参阅 ISCardISO7816

除了上面列出的 COM 错误代码外,如果调用智能卡函数来完成请求,则此接口可能返回智能卡错误代码。 有关详细信息,请参阅 智能卡返回值

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
客户端支持终止
Windows XP
终止服务器支持
Windows Server 2003
标头
Scardssp.h
类型库
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816定义为 53B6AA68-3F56-11D0-916B-00AA00C18068

另请参阅

ISCardISO7816

ReadBinary

UpdateBinary

WriteBinary