IOCTL_NFCSE_GET_NEXT_EVENT IOCTL (nfcsedev.h)
Kode kontrol IOCTL_NFCSE_GET_NEXT_EVENT mengembalikan peristiwa berikutnya yang tersedia di buffer, atau jika tidak ada lagi peristiwa buffer yang tetap tertunda hingga peristiwa elemen aman tersedia. Detail peristiwa kemudian harus dikembalikan ke pemanggil.
Kode utama
Buffer input
Tidak ada
Panjang buffer input
Tidak ada
Buffer output
DWORD yang menunjukkan ukuran struktur SECURE_ELEMENT_EVENT_INFO ditambah payload-nya, segera diikuti oleh struktur SECURE_ELEMENT_EVENT_INFO itu sendiri.
Blok status
Irp->IoStatus.Status diatur ke STATUS_SUCCESS jika permintaan berhasil. Kode kesalahan yang mungkin adalah:
Kode Pengembalian | Deskripsi |
---|---|
STATUS_INVALID_DEVICE_STATE | Kode ini dikembalikan ketika IOCTL ini dipanggil pada handel perangkat yang memiliki nama file selain SEEvents, atau ketika sudah ada permintaan tertunda lain yang belum selesai. |
STATUS_INVALID_PARAMETER | Kode ini dikembalikan ketika buffer output bukan nol, atau ketika GUID elemen aman tidak cocok dengan ID yang dijumlahkan. |
Keterangan
Berikut ini adalah persyaratan yang harus dipatuhi pengemudi.
- IOCTL ini harus dipanggil pada handel yang memiliki nama file relatif SEEvents ; jika tidak, driver mengembalikan STATUS_INVALID_DEVICE_STATE
- Driver ini harus mendukung CancelIO untuk IOCTL yang tertunda ini.
- Driver ini harus mempertahankan antrean yang diterima dari peristiwa elemen aman yang diterima yang cocok dengan jenis langganan.
-
Kondisi berikut harus dipenuhi ketika IOCTL ini diterima di driver:
- Jika antrean yang diterima kosong, maka driver harus menunggu IOCTL untuk penyelesaian nanti.
- Jika antrean yang diterima tidak kosong, maka driver harus membatalkan antrean satu peristiwa, menyalin buffer pesan ke buffer output IOCTL, dan menyelesaikan IOCTL dengan STATUS_SUCCESS segera.
- Jika driver menyelesaikan IOCTL ini dengan STATUS_SUCCESS, DWORD pertama [4 byte] dari buffer output harus berisi ukuran struktur SECURE_ELEMENT_EVENT_INFO ditambah payload-nya.
- Jika info peristiwa elemen aman yang diterima terlalu besar untuk disalin ke dalam buffer IOCTL ini, driver harus menyalin ukuran buffer yang diperlukan ke dalam 4 byte pertama buffer output, atur bidang informasi IOCTL ke sizeof (DWORD), dan lengkapi IOCTL dengan STATUS_BUFFER_OVERFLOW. Acara kemudian harus dibiarkan dalam antrean yang diterima.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | nfcsedev.h |
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