VHF_CONFIG Struktur (vhf.h)
Enthält anfängliche Konfigurationsinformationen, die vom HID-Quelltreiber bereitgestellt werden, wenn sie VhfCreate- aufruft, um ein virtuelles HID-Gerät zu erstellen.
Syntax
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;
Angehörige
Size
Erforderlich. Größe dieser Struktur initialisiert durch VHF_CONFIG_INIT.
VhfClientContext
Wahlfrei. Ein undurchsichtiger Zeiger auf den vom HID-Quelltreiber zugewiesenen Speicher, den das Virtual HID Framework (VHF) übergibt, wenn er diese Rückruffunktionen aufruft.
OperationContextSize
Wahlfrei. Größe des Puffers, den VHF für einen asynchronen Vorgang zuordnen muss, der von EvtVhfAsyncOperationgestartet wird. Wenn keine Null ist, weist VHF einen Puffer dieser Größe zu und übergibt einen Zeiger an diesen Puffer im VhfOperationContext Parameter jedes Mal, wenn er EvtVhfAsyncOperation aufruft, um einen neuen Vorgang zu starten.
DeviceObject
Erforderlich für Kernelmodustreiber. Ein Zeiger auf die DEVICE_OBJECT Struktur des HID-Quelltreibers. Rufen Sie diesen Zeiger ab, indem Sie WdfDeviceWdmGetDeviceObject aufrufen und das WDFDEVICE-Handle übergeben, das der Treiber im WdfDeviceCreate Aufruf empfangen hat.
FileHandle
Erforderlich für Benutzermodustreiber. Ein Dateihandle, das durch Aufrufen von WdfIoTargetWdmGetFileHandleabgerufen wird. Zum Öffnen eines WDFIOTARGET sollte ein VHF-Quelltreiber im Benutzermodus (UMDF) WdfIoTargetOpen mit OpenParams.Type auf WdfIoTargetOpenLocalTargetByFilefestgelegt werden.
VendorID
Wahlfrei. Hersteller-ID des zu erstellenden virtuellen HID-Geräts.
ProductID
Wahlfrei. Produkt-ID des zu erstellenden virtuellen HID-Geräts.
VersionNumber
Wahlfrei. Versionsnummer des zu erstellenden virtuellen HID-Geräts.
ContainerID
Wahlfrei. Container-ID des virtuellen HID-Geräts, das erstellt werden soll.
InstanceIDLength
InstanceID
ReportDescriptorLength
Erforderlich. Die Länge des HID-Berichtsdeskriptors, der in einem Puffer enthalten ist, auf den ReportDescriptorverweist.
ReportDescriptor
Erforderlich. Ein Zeiger auf einen VOM HID-Quelltreiber zugewiesenen Puffer, der den HID-Berichtsdeskriptor enthält.
EvtVhfReadyForNextReadReport
Wahlfrei. Ein Zeiger auf eine EvtVhfReadyForNextReadReport Rückruf. Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn sie die Pufferrichtlinie zum Übermitteln von HID-Eingabeberichten behandeln möchte. Wenn dieser Rückruf angegeben ist, puffert VHF diese Berichte nicht. Der HID-Quelltreiber sollte einen Bericht übermitteln, indem VhfReadReportSubmitaufgerufen wird, jedes Mal, wenn VHF EvtVhfReadyForNextReadReportaufruft.
EvtVhfAsyncOperationGetFeature
Wahlfrei. Ein Zeiger auf eine EvtVhfAsyncOperation Rückruf. Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn ein HID-Featurebericht abgerufen werden soll, der einem Top-Level Collection- aus dem HID-Klassentreiberpaar zugeordnet ist. Der Treiber kann einen Featurebericht nur abrufen, wenn der Berichtsdeskriptor ihn deklariert.
EvtVhfAsyncOperationSetFeature
Wahlfrei. Ein Zeiger auf eine EvtVhfAsyncOperation Rückruf. Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn ein HID-Featurebericht gesendet werden soll, der einem Top-Level Collection- dem HID-Klassentreiberpaar zugeordnet ist. Der Treiber kann einen Featurebericht nur festlegen, wenn der Berichtsdeskriptor ihn deklariert.
EvtVhfAsyncOperationWriteReport
Wahlfrei. Ein Zeiger auf eine EvtVhfAsyncOperation Rückruf. Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn sie HID-Ausgabeberichte unterstützen und an das HID-Klassentreiberpaar senden möchten.
EvtVhfAsyncOperationGetInputReport
Wahlfrei. Ein Zeiger auf eine EvtVhfAsyncOperation Rückruf. Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn er die On-Demand-Abfrage für Eingabeberichte unterstützen möchte.
EvtVhfCleanup
Wahlfrei. Ein Zeiger auf eine EvtVhfCleanup Rückruf. Der HID-Quelltreiber kann diese Rückruffunktion implementieren und registrieren, wenn die zugeordneten Ressourcen für das virtuelle HID-Gerät freigegeben werden sollen.
HardwareIDsLength
HardwareIDs
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10 |
mindestens unterstützte Server- | Keine unterstützt |
Header- | vhf.h |
Siehe auch
Schreiben eines HID-Quelltreibers mithilfe von Virtual HID Framework (VHF)