共用方式為


ISCardISO7816::P utData 方法

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

PutData方法會建構應用程式通訊協定資料單位, (APDU) 命令,根據選取的檔案儲存單一基本資料物件或包含在建構資料物件中的資料物件集合。

物件儲存 (寫入一次和/或更新和/或附加) 的方式取決於資料物件的定義或本質。

語法

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

參數

byP1 [in]

P1-P2 的編碼。

意義
0000 - 003F
RFU
0040 - 00FF
P2 中的 BER-TLV 標記 (1 個位元組)
0100 - 01FF
應用程式資料 (專屬編碼)
0200 - 02FF
P2 中的 SIMPLE-TLV 標記
0300 - 03FF
RFU
0400 - 04FF
P1-P2 中的 BER-TLV 標記 (2 個位元組)

 

byP2 [in]

P1-P2 的編碼。

意義
0000 - 003F
RFU
0040 - 00FF
P2 中的 BER-TLV 標記 (1 個位元組)
0100 - 01FF
應用程式資料 (專屬編碼)
0200 - 02FF
P2 中的 SIMPLE-TLV 標記
0300 - 03FF
RFU
0400 - 04FF
P1-P2 中的 BER-TLV 標記 (2 個位元組)

 

pData [in]

位元組緩衝區的指標,其中包含要寫入的參數和資料。

ppCmd [in, out]

在輸入時, ISCardCmd 介面物件的指標或 Null

傳回時,它會填入此作業所建構的 APDU 命令。 如果ppCmd設定為Null,則會使用ppCmd指標在內部建立並傳回智慧卡ISCardCmd物件。

傳回值

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

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

 

備註

只有在安全性狀態符合應用程式在函式 內容 中定義的安全性條件時,才能執行命令。

儲存應用程式資料

當 P1-P2 的值位於介於 0100 到 01FF 的範圍內時,P1-P2 的值應該是保留給卡片內部測試的識別碼,以及指定應用程式內容中有意義的專屬服務。

儲存資料物件

當 P1-P2 值位於介於 0040 到 00FF 的範圍內時,P2 的值應該是單一位元組上的 BER-TLV 標記。 00FF 的值會保留為表示資料欄位具有 BER-TLV 資料物件。

當 P1-P2 的值位於 0200 到 02FF 的範圍內時,P2 的值應該是 SIMPLE-TLV 標記。 值為 0200 是 RFU。 值 02FF 保留為表示資料欄位攜帶 SIMPLE-TLV 資料物件。

當 P1-P2 的值位於從 4000 到 FFFF 的範圍時,P1-P2 的值應該是兩個位元組的 BER-TLV 標記。 4000 到 FFFF 的值是 RFU。

提供基本資料物件時,命令訊息的資料欄位應該包含對應基本資料物件的值。

提供建構的資料物件時,命令訊息的資料欄位應該包含建構的資料物件值, (也就是資料物件,包括其標記、長度和值) 。

如需此介面提供之所有方法的清單,請參閱 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

另請參閱

GetData

ISCardISO7816