struttura VHF_CONFIG (vhf.h)
Contiene informazioni di configurazione iniziali fornite dal driver di origine HID quando chiama VhfCreare per creare un dispositivo HID virtuale.
Sintassi
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;
Membri
Size
Obbligatorio. Dimensione di questa struttura inizializzata da VHF_CONFIG_INIT.
VhfClientContext
Opzionale. Puntatore opaco alla memoria allocata dal driver di origine HID passato da Virtual HID Framework (VHF) quando richiama tali funzioni di callback.
OperationContextSize
Opzionale. Dimensioni del buffer che VHF deve allocare per un'operazione asincrona avviata da EvtVhfAsyncOperation. Se non è zero, VHF alloca un buffer di questa dimensione e passa un puntatore a tale buffer nel parametro VhfOperationContext ogni volta che richiama EvtVhfAsyncOperation per avviare una nuova operazione.
DeviceObject
Obbligatorio per i driver in modalità kernel. Puntatore alla struttura DEVICE_OBJECT per il driver di origine HID. Ottenere tale puntatore chiamando WdfDeviceWdmGetDeviceObject e passando l'handle WDFDEVICE ricevuto dal driver nella chiamata WdfDeviceCreate.
FileHandle
Obbligatorio per i driver in modalità utente. Handle di file ottenuto chiamando WdfIoTargetWdmGetTargetFileHandle. Per aprire un file WDFIOTARGET, un driver di origine VHF (UMDF) in modalità utente deve chiamare WdfIoTargetOpen con OpenParams.Type impostato su WdfIoTargetOpenLocalTargetByFile.
VendorID
Opzionale. ID fornitore del dispositivo HID virtuale da creare.
ProductID
Opzionale. ID prodotto del dispositivo HID virtuale da creare.
VersionNumber
Opzionale. Numero di versione del dispositivo HID virtuale da creare.
ContainerID
Opzionale. ID contenitore del dispositivo HID virtuale da creare.
InstanceIDLength
InstanceID
ReportDescriptorLength
Obbligatorio. Lunghezza del descrittore di report HID contenuto in un buffer a cui punta ReportDescriptor.
ReportDescriptor
Obbligatorio. Puntatore a un buffer allocato dal driver di origine HID che contiene il descrittore di report HID.
EvtVhfReadyForNextReadReport
Opzionale. Puntatore a un EvtVhfReadyForNextReadReport callback. Il driver di origine HID deve implementare e registrare questa funzione di callback se vuole gestire i criteri di buffering per l'invio di report di input HID. Se questo callback viene specificato, VHF non memorizza tali report nel buffer. Il driver di origine HID deve inviare un report chiamando VhfReadReportSubmit, ogni volta che VHF richiama EvtVhfReadyForNextReadReport.
EvtVhfAsyncOperationGetFeature
Opzionale. Puntatore a un EvtVhfAsyncOperation callback. Il driver di origine HID deve implementare e registrare questa funzione di callback se vuole ottenere un report di funzionalità HID associato a un Top-Level Collection dalla coppia di driver di classe HID. Il driver può ottenere un report di funzionalità solo se il descrittore del report lo dichiara.
EvtVhfAsyncOperationSetFeature
Opzionale. Puntatore a un EvtVhfAsyncOperation callback. Il driver di origine HID deve implementare e registrare questa funzione di callback se vuole inviare un report di funzionalità HID associato a un Top-Level Collection alla coppia di driver di classe HID. Il driver può impostare un report funzionalità solo se il descrittore di report lo dichiara.
EvtVhfAsyncOperationWriteReport
Opzionale. Puntatore a un EvtVhfAsyncOperation callback. Il driver di origine HID deve implementare e registrare questa funzione di callback se vuole supportare i report di output HID e inviarli alla coppia di driver di classe HID.
EvtVhfAsyncOperationGetInputReport
Opzionale. Puntatore a un EvtVhfAsyncOperation callback. Il driver di origine HID deve implementare e registrare questa funzione di callback se vuole supportare la query su richiesta per i report di input.
EvtVhfCleanup
Opzionale. Puntatore a un callback di EvtVhfCleanup. Il driver di origine HID può implementare e registrare questa funzione di callback se vuole liberare le risorse allocate per il dispositivo HID virtuale.
HardwareIDsLength
HardwareIDs
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10 |
server minimo supportato | Nessuna supportata |
intestazione | vhf.h |
Vedere anche
scrivere un driver di origine HID usando VHF (Virtual HID Framework)