Freigeben über


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)