struktur VHF_CONFIG (vhf.h)
Berisi informasi konfigurasi awal yang disediakan oleh driver sumber HID saat memanggil VhfCreate untuk membuat perangkat HID virtual.
Sintaks
typedef struct _VHF_CONFIG {
ULONG Size;
PVOID VhfClientContext;
ULONG OperationContextSize;
#ifdef _KERNEL_MODE
PDEVICE_OBJECT DeviceObject;
#else
HANDLE FileHandle;
#endif
USHORT VendorID;
USHORT ProductID;
USHORT VersionNumber;
GUID ContainerID;
USHORT InstanceIDLength;
_Field_size_bytes_full_(InstanceIDLength)
PWSTR InstanceID;
USHORT ReportDescriptorLength;
_Field_size_full_(ReportDescriptorLength)
PUCHAR ReportDescriptor;
PEVT_VHF_READY_FOR_NEXT_READ_REPORT EvtVhfReadyForNextReadReport;
PEVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperationGetFeature;
PEVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperationSetFeature;
PEVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperationWriteReport;
PEVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperationGetInputReport;
PEVT_VHF_CLEANUP EvtVhfCleanup;
USHORT HardwareIDsLength;
_Field_size_bytes_full_(HardwareIDsLength)
PWSTR HardwareIDs;
} VHF_CONFIG, *PVHF_CONFIG;
Anggota
Size
Wajib diisi. Ukuran struktur ini diinisialisasi oleh VHF_CONFIG_INIT.
VhfClientContext
Pilihan. Penunjuk buram ke memori yang dialokasikan driver sumber HID yang diteruskan oleh Virtual HID Framework (VHF) saat memanggil fungsi panggilan balik tersebut.
OperationContextSize
Pilihan. Ukuran buffer yang harus dialokasikan VHF untuk operasi asinkron yang dimulai oleh EvtVhfAsyncOperation. Jika bukan nol, VHF mengalokasikan buffer ukuran ini dan meneruskan penunjuk ke buffer tersebut dalam parameter VhfOperationContext setiap kali memanggil EvtVhfAsyncOperation untuk memulai operasi baru.
DeviceObject
Diperlukan untuk driver mode kernel. Penunjuk ke struktur DEVICE_OBJECT untuk driver sumber HID. Dapatkan pointer tersebut dengan memanggil WdfDeviceWdmGetDeviceObject dan melewati handel WDFDEVICE yang diterima driver dalam panggilan WdfDeviceCreate .
FileHandle
Diperlukan untuk driver mode pengguna. Handel file diperoleh dengan memanggil WdfIoTargetWdmGetTargetFileHandle. Untuk membuka WDFIOTARGET, driver sumber VHF mode pengguna (UMDF) harus memanggil WdfIoTargetOpen dengan OpenParams.Type diatur ke WdfIoTargetOpenLocalTargetByFile.
VendorID
Pilihan. ID vendor perangkat HID virtual yang akan dibuat.
ProductID
Pilihan. ID produk perangkat HID virtual yang akan dibuat.
VersionNumber
Pilihan. Nomor versi perangkat HID virtual yang akan dibuat.
ContainerID
Pilihan. ID kontainer perangkat HID virtual yang akan dibuat.
InstanceIDLength
InstanceID
ReportDescriptorLength
Wajib diisi. Panjang Deskriptor Laporan HID yang terkandung dalam buffer yang ditunjukkan oleh ReportDescriptor.
ReportDescriptor
Wajib diisi. Penunjuk ke buffer yang dialokasikan driver sumber HID yang berisi Deskriptor Laporan HID.
EvtVhfReadyForNextReadReport
Opsional. Penunjuk ke panggilan balik EvtVhfReadyForNextReadReport . Driver sumber HID harus menerapkan dan mendaftarkan fungsi panggilan balik ini jika ingin menangani kebijakan buffering untuk mengirimkan Laporan Input HID. Jika panggilan balik ini ditentukan, VHF tidak menyangga laporan tersebut. Driver sumber HID harus mengirimkan satu laporan dengan memanggil VhfReadReportSubmit, setiap kali VHF memanggil EvtVhfReadyForNextReadReport.
EvtVhfAsyncOperationGetFeature
Opsional. Penunjuk ke panggilan balik EvtVhfAsyncOperation . Driver sumber HID harus menerapkan dan mendaftarkan fungsi panggilan balik ini jika ingin mendapatkan Laporan Fitur HID yang terkait dengan Koleksi Tingkat Atas dari pasangan driver kelas HID. Driver bisa mendapatkan Laporan Fitur hanya jika Deskriptor Laporan mendeklarasikannya.
EvtVhfAsyncOperationSetFeature
Pilihan. Penunjuk ke panggilan balik EvtVhfAsyncOperation . Driver sumber HID harus menerapkan dan mendaftarkan fungsi panggilan balik ini jika ingin mengirim Laporan Fitur HID yang terkait dengan Koleksi Tingkat Atas ke pasangan driver kelas HID. Driver hanya dapat mengatur Laporan Fitur jika Deskriptor Laporan mendeklarasikannya.
EvtVhfAsyncOperationWriteReport
Opsional. Penunjuk ke panggilan balik EvtVhfAsyncOperation . Driver sumber HID harus menerapkan dan mendaftarkan fungsi panggilan balik ini jika ingin mendukung Laporan Output HID dan mengirimkannya ke pasangan driver kelas HID.
EvtVhfAsyncOperationGetInputReport
Pilihan. Penunjuk ke panggilan balik EvtVhfAsyncOperation . Driver sumber HID harus menerapkan dan mendaftarkan fungsi panggilan balik ini jika ingin mendukung kueri sesuai permintaan untuk Laporan Input.
EvtVhfCleanup
Pilihan. Penunjuk ke panggilan balik EvtVhfCleanup . Driver sumber HID dapat menerapkan dan mendaftarkan fungsi panggilan balik ini jika ingin membebaskan sumber daya yang dialokasikan untuk perangkat HID virtual.
HardwareIDsLength
HardwareIDs
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10 |
Server minimum yang didukung | Tidak ada yang didukung |
Header | vhf.h |
Lihat juga
Menulis driver sumber HID dengan menggunakan Virtual HID Framework (VHF)
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