ISCardCmd::get_Apdu 方法

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

get_Apdu 方法 (APDU) 检索原始应用程序协议数据单元

语法

HRESULT get_Apdu(
  [out] LPBYTEBUFFER *ppApdu
);

parameters

ppApdu [out]

指向通过 IStream 对象映射的字节缓冲区的指针,该对象包含返回时 APDU 消息。

返回值

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

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

 

备注

若要将 APDU 从 IByteBuffer (IStream) 对象复制到包装在此接口对象中的 APDU 中,请调用 put_Apdu

若要确定 APDU 的长度,请调用 get_ApduLength

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

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

示例

以下示例演示如何 (APDU) 检索原始 应用程序协议数据单元 。 该示例假定 pISCardCmd 是指向 ISCardCmd 接口的有效指针,而 pIByteApdu 是指向 IByteBuffer 接口实例的有效指针。

HRESULT    hr;

hr = pISCardCmd->get_Apdu(&pIByteApdu);
if (FAILED(hr)) 
{
    printf("Failed get_Apdu.\n");
    // Take other error handling action as needed.
}

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
客户端支持终止
Windows XP
终止服务器支持
Windows Server 2003
标头
Scarddat.h
类型库
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardCmd定义为 D5778AE3-43DE-11D0-9171-00AA00C18068

另请参阅

get_ApduLength

ISCardCmd

put_Apdu