Metode ISCardCmd::BuildCmd

[Metode BuildCmd tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini tidak tersedia untuk digunakan di Windows Server 2003 dengan Paket Layanan 1 (SP1) dan yang lebih baru, Windows Vista, Windows Server 2008, dan versi sistem operasi berikutnya. Modul Kartu Pintar menyediakan fungsionalitas serupa.]

Metode BuildCmd membangun unit data protokol aplikasi perintah (APDU) yang valid untuk transmisi ke kartu pintar.

Sintaks

HRESULT BuildCmd(
  [in] BYTE         byClassId,
  [in] BYTE         byInsId,
  [in] BYTE         byP1,
  [in] BYTE         byP2,
  [in] LPBYTEBUFFER pbyData,
  [in] LONG         *p1Le
);

Parameter

byClassId [in]

Pengidentifikasi kelas perintah.

byInsId [in]

Pengidentifikasi instruksi perintah.

byP1 [in]

Parameter pertama perintah.

byP2 [in]

Parameter kedua perintah.

pbyData [in]

Arahkan ke bagian data perintah.

p1Le [in]

Penunjuk ke bilangan bulat LONG yang berisi panjang yang diharapkan dari data yang dikembalikan.

Nilai kembali

Metode mengembalikan salah satu nilai yang mungkin berikut ini.

Menampilkan kode Deskripsi
S_OK
Operasi selesai dengan sukses.
E_INVALIDARG
Salah satu parameter tidak valid.
E_POINTER
Penunjuk yang buruk diteruskan.
E_OUTOFMEMORY
Kehabisan memori.

 

Keterangan

Untuk merangkum perintah ke dalam perintah lain, panggil Enkapsulate.

Untuk daftar semua metode yang disediakan oleh antarmuka ini, lihat ISCardCmd.

Selain kode kesalahan COM yang tercantum di atas, antarmuka ini dapat mengembalikan kode kesalahan kartu pintar jika fungsi kartu pintar dipanggil untuk menyelesaikan permintaan. Untuk informasi selengkapnya, lihat Nilai Pengembalian Kartu Pintar.

Contoh

Contoh berikut menunjukkan cara membuat perintah APDU. Contoh mengasumsikan bahwa pISCardCmd adalah penunjuk yang valid ke instans antarmuka ISCardCmd dan pIByteRequest tersebut adalah penunjuk yang valid ke instans antarmuka IByteBuffer yang diinisialisasi dengan panggilan sebelumnya ke metode IByteBuffer::Initialize .

LONG       lLe = 0;
HRESULT    hr;

hr = pISCardCmd->BuildCmd(0x00,   // Some cards prefer 0xC0
                          0xa4,   // 'Select File'
                          0x00,
                          0x00,
                          pIByteRequest,
                          &lLe);
if (FAILED(hr))
{
    printf("Failed ISCardCmd::BuildCmd\n");
    // Take other error handling action as needed.
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Akhir dukungan klien
Windows XP
Akhir dukungan server
Windows Server 2003
Header
Scarddat.h
Pustaka jenis
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardCmd didefinisikan sebagai D5778AE3-43DE-11D0-9171-00AA00C18068

Lihat juga

Merangkum

ISCardCmd