structure VHF_CONFIG (vhf.h)
Contient les informations de configuration initiales fournies par le pilote source HID lorsqu’il appelle VhfCreate pour créer un périphérique HID virtuel.
Syntaxe
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;
Membres
Size
Obligatoire. Taille de cette structure initialisée par VHF_CONFIG_INIT.
VhfClientContext
Optionnel. Pointeur opaque vers la mémoire allouée par le pilote source HID que le VHF (Virtual HID Framework) transmet lorsqu’il appelle ces fonctions de rappel.
OperationContextSize
Optionnel. Taille de la mémoire tampon que VHF doit allouer pour une opération asynchrone démarrée par EvtVhfAsyncOperation. Si ce n’est pas zéro, VHF alloue une mémoire tampon de cette taille et transmet un pointeur vers cette mémoire tampon dans le paramètre VhfOperationContext chaque fois qu’il appelle EvtVhfAsyncOperation pour démarrer une nouvelle opération.
DeviceObject
Obligatoire pour les pilotes en mode noyau. Pointeur vers la structure DEVICE_OBJECT pour le pilote source HID. Obtenez ce pointeur en appelant WdfDeviceWdmGetDeviceObject et en passant le handle WDFDEVICE reçu par le pilote dans l’appel WdfDeviceCreate.
FileHandle
Obligatoire pour les pilotes en mode utilisateur. Handle de fichier obtenu en appelant WdfIoTargetWdmGetTargetFileHandle. Pour ouvrir un wdFIOTARGET, un pilote source VHF en mode utilisateur doit appeler WdfIoTargetOpen avec OpenParams.Type défini sur WdfIoTargetOpenLocalTargetByFile.
VendorID
Optionnel. ID du fournisseur de l’appareil HID virtuel à créer.
ProductID
Optionnel. ID de produit de l’appareil HID virtuel à créer.
VersionNumber
Optionnel. Numéro de version de l’appareil HID virtuel à créer.
ContainerID
Optionnel. ID de conteneur de l’appareil HID virtuel à créer.
InstanceIDLength
InstanceID
ReportDescriptorLength
Obligatoire. Longueur du descripteur de rapport HID contenu dans une mémoire tampon pointée par ReportDescriptor.
ReportDescriptor
Obligatoire. Pointeur vers une mémoire tampon allouée au pilote source HID qui contient le descripteur de rapport HID.
EvtVhfReadyForNextReadReport
Optionnel. Pointeur vers un rappel EvtVhfReadyForNextReadReport. Le pilote source HID doit implémenter et inscrire cette fonction de rappel si elle souhaite gérer la stratégie de mise en mémoire tampon pour l’envoi de rapports d’entrée HID. Si ce rappel est spécifié, VHF ne met pas en mémoire tampon ces rapports. Le pilote source HID doit envoyer un rapport en appelant VhfReadReportSubmit , chaque fois que VHF appelle EvtVhfReadyForNextReadReport.
EvtVhfAsyncOperationGetFeature
Optionnel. Pointeur vers un rappel EvtVhfAsyncOperation. Le pilote source HID doit implémenter et inscrire cette fonction de rappel si elle souhaite obtenir un rapport de fonctionnalité HID associé à un Top-Level Collection à partir de la paire de pilotes de classe HID. Le pilote peut obtenir un rapport de fonctionnalité uniquement si le descripteur de rapport le déclare.
EvtVhfAsyncOperationSetFeature
Optionnel. Pointeur vers un rappel EvtVhfAsyncOperation. Le pilote source HID doit implémenter et inscrire cette fonction de rappel si elle souhaite envoyer un rapport de fonctionnalité HID associé à une Top-Level Collection à la paire de pilotes de classe HID. Le pilote peut définir un rapport de fonctionnalité uniquement si le descripteur de rapport le déclare.
EvtVhfAsyncOperationWriteReport
Optionnel. Pointeur vers un rappel EvtVhfAsyncOperation. Le pilote source HID doit implémenter et inscrire cette fonction de rappel si elle souhaite prendre en charge les rapports de sortie HID et les envoyer à la paire de pilotes de classe HID.
EvtVhfAsyncOperationGetInputReport
Optionnel. Pointeur vers un rappel EvtVhfAsyncOperation. Le pilote source HID doit implémenter et inscrire cette fonction de rappel si elle souhaite prendre en charge la requête à la demande pour les rapports d’entrée.
EvtVhfCleanup
Optionnel. Pointeur vers un rappel EvtVhfCleanup. Le pilote source HID peut implémenter et inscrire cette fonction de rappel si elle souhaite libérer les ressources allouées pour l’appareil HID virtuel.
HardwareIDsLength
HardwareIDs
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10 |
serveur minimum pris en charge | Aucun pris en charge |
d’en-tête | vhf.h |
Voir aussi
écrire un pilote source HID à l’aide du Virtual HID Framework (VHF)