VHF_CONFIG-Struktur (vhf.h)
Enthält anfängliche Konfigurationsinformationen, die vom HID-Quelltreiber bereitgestellt werden, wenn er 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;
Member
Size
Erforderlich. Größe dieser Struktur, die von VHF_CONFIG_INIT initialisiert wird.
VhfClientContext
Optional. Ein undurchsichtiger Zeiger auf den vom HID-Quelltreiber zugewiesenen Arbeitsspeicher, den das Virtual HID Framework (VHF) beim Aufrufen dieser Rückruffunktionen übergibt.
OperationContextSize
Optional. Größe des Puffers, den VHF für einen asynchronen Vorgang zuordnen muss, der von EvtVhfAsyncOperation gestartet wird. Wenn der Wert ungleich 0 ist, weist VHF einen Puffer dieser Größe zu und übergibt bei jedem Aufruf von EvtVhfAsyncOperation einen Zeiger auf diesen Puffer im VhfOperation-Parameter, um einen neuen Vorgang zu starten.
DeviceObject
Erforderlich für Kernelmodustreiber. Ein Zeiger auf die DEVICE_OBJECT-Struktur für den HID-Quelltreiber. 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 WdfIoTargetWdmGetTargetFileHandle abgerufen wird. Zum Öffnen eines WDFIOTARGET sollte ein UMDF-VHF-Quelltreiber WdfIoTargetOpen aufrufen, wobei OpenParams.Type auf WdfIoTargetOpenLocalTargetByFile festgelegt ist.
VendorID
Optional. Anbieter-ID des zu erstellenden virtuellen HID-Geräts.
ProductID
Optional. Produkt-ID des zu erstellenden virtuellen HID-Geräts.
VersionNumber
Optional. Versionsnummer des zu erstellenden virtuellen HID-Geräts.
ContainerID
Optional. Container-ID des zu erstellenden virtuellen HID-Geräts.
InstanceIDLength
InstanceID
ReportDescriptorLength
Erforderlich. Die Länge des HID-Berichtsdeskriptors, der in einem Puffer enthalten ist, auf den reportDescriptor verweist.
ReportDescriptor
Erforderlich. Ein Zeiger auf einen vom HID-Quelltreiber zugewiesenen Puffer, der den HID-Berichtsdeskriptor enthält.
EvtVhfReadyForNextReadReport
Optional. Ein Zeiger auf einen EvtVhfReadyForNextReadReport-Rückruf . Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn er die Pufferrichtlinie für die Übermittlung von HID-Eingabeberichten verarbeiten möchte. Wenn dieser Rückruf angegeben wird, puffert VHF diese Berichte nicht. Der HID-Quelltreiber sollte einen Bericht übermitteln, indem er VhfReadReportSubmit aufruft, jedes Mal, wenn VHF EvtVhfReadyForNextReadReport aufruft.
EvtVhfAsyncOperationGetFeature
Optional. Ein Zeiger auf einen EvtVhfAsyncOperation-Rückruf . Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn er einen HID-Featurebericht abrufen möchte, der einer Sammlung der obersten Ebene aus dem HID-Klassentreiberpaar zugeordnet ist. Der Treiber kann einen Featurebericht nur abrufen, wenn er vom Berichtsdeskriptor deklariert wird.
EvtVhfAsyncOperationSetFeature
Optional. Ein Zeiger auf einen EvtVhfAsyncOperation-Rückruf . Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn er einen HID-Featurebericht senden möchte, der einer Sammlung der obersten Ebene zugeordnet ist, an das HID-Klassentreiberpaar. Der Treiber kann einen Featurebericht nur dann festlegen, wenn er vom Berichtsdeskriptor deklariert wird.
EvtVhfAsyncOperationWriteReport
Optional. Ein Zeiger auf einen EvtVhfAsyncOperation-Rückruf . Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn er HID-Ausgabeberichte unterstützen und an das HID-Klassentreiberpaar senden möchte.
EvtVhfAsyncOperationGetInputReport
Optional. Ein Zeiger auf einen EvtVhfAsyncOperation-Rückruf . Der HID-Quelltreiber muss diese Rückruffunktion implementieren und registrieren, wenn er bedarfsgesteuerte Abfragen für Eingabeberichte unterstützen möchte.
EvtVhfCleanup
Optional. Ein Zeiger auf einen EvtVhfCleanup-Rückruf . Der HID-Quelltreiber kann diese Rückruffunktion implementieren und registrieren, wenn er die zugeordneten Ressourcen für das virtuelle HID-Gerät freigeben möchte.
HardwareIDsLength
HardwareIDs
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 |
Unterstützte Mindestversion (Server) | Nicht unterstützt |
Kopfzeile | vhf.h |
Weitere Informationen
Schreiben eines HID-Quelltreibers mithilfe von Virtual HID Framework (VHF)