struttura VHF_CONFIG (vhf.h)
Contiene informazioni di configurazione iniziali fornite dal driver di origine HID quando chiama VhfCreate 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;
Members
Size
Obbligatorio. Dimensioni di questa struttura inizializzata da VHF_CONFIG_INIT.
VhfClientContext
facoltativo. Puntatore opaco alla memoria allocata dal driver di origine HID passata da Virtual HID Framework (VHF) quando richiama tali funzioni di callback.
OperationContextSize
facoltativo. Dimensioni del buffer che VHF deve allocare per un'operazione asincrona avviata da EvtVhfAsyncOperation. Se non è zero, VHF alloca un buffer di queste dimensioni e passa un puntatore al 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 il 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 wdFIOTARGET, un driver di origine VHF (UMDF) in modalità utente deve chiamare WdfIoTargetOpen con OpenParams.Type impostato su WdfIoTargetOpenLocalTargetByFile.
VendorID
facoltativo. ID fornitore del dispositivo HID virtuale da creare.
ProductID
facoltativo. ID prodotto del dispositivo HID virtuale da creare.
VersionNumber
facoltativo. Numero di versione del dispositivo HID virtuale da creare.
ContainerID
facoltativo. 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
facoltativo. Puntatore a un callback EvtVhfReadyForNextReadReport . 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
facoltativo. Puntatore a un callback EvtVhfAsyncOperation . Il driver di origine HID deve implementare e registrare questa funzione di callback se vuole ottenere un report di funzionalità HID associato a una raccolta di livello superiore dalla coppia di driver di classe HID. Il driver può ottenere un report delle funzionalità solo se il descrittore di report lo dichiara.
EvtVhfAsyncOperationSetFeature
facoltativo. Puntatore a un callback EvtVhfAsyncOperation . Il driver di origine HID deve implementare e registrare questa funzione di callback se vuole inviare un report di funzionalità HID associato a una raccolta di livello superiore alla coppia di driver di classe HID. Il driver può impostare un report delle funzionalità solo se il descrittore di report lo dichiara.
EvtVhfAsyncOperationWriteReport
facoltativo. Puntatore a un callback EvtVhfAsyncOperation . 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
facoltativo. Puntatore a un callback EvtVhfAsyncOperation . 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
facoltativo. Puntatore a un callback 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
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Server minimo supportato | Nessuno supportato |
Intestazione | vhf.h |
Vedi anche
Scrivere un driver di origine HID usando Virtual HID Framework (VHF)