共用方式為


ISCardCmd::Encapsulate 方法

[ 封裝 方法可用於需求一節中指定的作業系統。 它不適用於 Windows Server 2003 service Pack 1 (SP1) 及更新版本、Windows Vista、Windows Server 2008 和後續版本的作業系統。 智慧卡模組提供類似的功能。

封裝方法會將指定的命令應用程式通訊協定資料單位封裝 (APDU) 到另一個命令 APDU,以便傳輸至智慧卡

語法

HRESULT Encapsulate(
  [in] LPBYTEBUFFER  pApdu,
  [in] ISO_APDU_TYPE ApduType
);

參數

pApdu [in]

要封裝之 APDU 的指標。

ApduType [in]

T=0傳輸的 ISO 7816-4 案例。

ISO_CASE_1

ISO_CASE_2

ISO_CASE_3

ISO_CASE_4

傳回值

方法會傳回下列其中一個可能的值。

傳回碼 描述
S_OK
作業順利完成。
E_INVALIDARG
無效的參數。
E_POINTER
pApdu中傳遞了不正確的指標。
E_OUTOFMEMORY
記憶體不足。

 

備註

若要建置命令 APDU,請呼叫 BuildCmd

如需此介面提供之所有方法的清單,請參閱 ISCardCmd

除了上述 COM 錯誤碼之外,如果呼叫智慧卡函式來完成要求,此介面可能會傳回智慧卡錯誤碼。 如需詳細資訊,請參閱 智慧卡傳回值

範例

下列範例示範如何封裝命令 APDU。 此範例假設 pIByteApdu 是 IByteBuffer 介面實例的有效指標。

HRESULT    hr;

// pIByteApdu is a pointer to an instance of IByteBuffer.
// Encapsulate the APDU.
hr = pISCardCmd->Encapsulate(pIByteApdu, ISO_CASE_1);
if (FAILED(hr)) 
{
    printf("Failed Encapsulate.\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

另請參閱

BuildCmd

ISCardCmd