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)