IOCTL_SMARTCARD_SET_PROTOCOL IOCTL (winsmcrd.h)
Permintaan IOCTL_SMARTCARD_SET_PROTOCOL menetapkan protokol yang akan digunakan driver untuk berkomunikasi dengan kartu pintar setelah kartu terdeteksi (dimasukkan).
Kode utama
Buffer input
Irp->AssociatedIrp.SystemBuffer Berisi masker protokol yang dapat diterima untuk transmisi berikut. Masker bisa menjadi bitwise ATAU dari nilai berikut:
- SCARD_PROTOCOL_RAW
- SCARD_PROTOCOL_T0
- SCARD_PROTOCOL_T1
- SCARD_PROTOCOL_DEFAULT
- SCARD_PROTOCOL_OPTIMAL
Dua nilai terakhir adalah definisi bit tambahan yang menunjukkan bahwa driver harus secara eksplisit melakukan pemilihan jenis protokol (PTS) dengan parameter komunikasi terbaik (SCARD_PROTOCOL_OPTIMAL) atau menggunakan protokol implisit kartu dengan parameter standar (SCARD_PROTOCOL_DEFAULT). Jika kartu hanya mendukung satu protokol dengan satu set parameter komunikasi, bit diabaikan.
Parameters.DeviceIoControl.InputBufferLength Harus diatur ke sizeof(ULONG). Driver memutuskan protokol mana dari masker yang akan digunakan dengan kartu yang dimasukkan.
Buffer output
- Irp->AssociatedIrp.SystemBuffer Driver menyimpan protokol yang dipilih di sini (misalnya, SCARD_PROTOCOL_T1). Hanya satu bit keluar dari masker yang dapat diatur.
Panjang buffer output
- Parameters.DeviceIoControl.OutputBufferLength Harus sizeof(ULONG).
Blok status
Irp->IoStatus.Information harus diatur ke sizeof(ULONG).
Irp->IoStatus.Status diatur ke salah satu nilai berikut.
Nilai | Makna |
---|---|
STATUS_SUCCESS | Protokol berhasil dipilih. |
STATUS_NO_MEDIA | Tidak ada kartu pintar yang terdeteksi di pembaca. |
STATUS_IO_TIMEOUT | Waktu operasi habis. |
STATUS_NOT_SUPPORTED | Kartu pintar tidak mendukung protokol apa pun yang diminta. |
STATUS_INVALID_DEVICE_REQUEST | Masker tidak berisi protokol yang diketahui. |
Untuk informasi selengkapnya, lihat Nilai NTSTATUS.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | winsmcrd.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk