Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Содержит начальные сведения о конфигурации, предоставляемые драйвером источника HID при вызове VhfCreate для создания виртуального устройства HID.
Синтаксис
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;
Члены
Size
Обязательно. Размер этой структуры, инициализируемый VHF_CONFIG_INIT.
VhfClientContext
Необязательный. Непрозрачный указатель на память, выделенную драйвером-источником HID, передает виртуальную платформу HID Framework (VHF) при вызове этих функций обратного вызова.
OperationContextSize
Необязательный. Размер буфера, который VHF должен выделить для асинхронной операции, запущенной EvtVhfAsyncOperation. Если значение не равно нулю, VHF выделяет буфер этого размера и передает указатель на этот буфер в параметре VhfOperationContext каждый раз при вызове EvtVhfAsyncOperation для запуска новой операции.
DeviceObject
Требуется для драйверов в режиме ядра. Указатель на структуру DEVICE_OBJECT для исходного драйвера HID. Получите этот указатель, вызвав WdfDeviceWdmGetDeviceObject и передав дескриптор WDFDEVICE, полученный драйвер ом в вызове WdfDeviceCreate.
FileHandle
Требуется для драйверов пользовательского режима. Дескриптор файла, полученный путем вызова WdfIoTargetGetTargetFileHandle. Чтобы открыть WDFIOTARGET, драйвер источника VHF в режиме пользователя (UMDF) должен вызывать WdfIoTargetOpen с OpenParams.Type для WdfIoTargetOpenLocenTargetByFile.
VendorID
Необязательный. Идентификатор поставщика создаваемого виртуального устройства HID.
ProductID
Необязательный. Идентификатор продукта создаваемого виртуального устройства HID.
VersionNumber
Необязательный. Номер версии создаваемого виртуального устройства HID.
ContainerID
Необязательный. Идентификатор контейнера создаваемого виртуального устройства HID.
InstanceIDLength
InstanceID
ReportDescriptorLength
Обязательно. Длина дескриптора отчета HID, содержащегося в буфере, на который указывает ReportDescriptor.
ReportDescriptor
Обязательно. Указатель на выделенный исходным драйвером HID буфер, содержащий дескриптор отчета HID.
EvtVhfReadyForNextReadReport
Необязательный. Указатель на обратный вызов EvtVhfReadyForNextReadReport. Драйвер источника HID должен реализовать и зарегистрировать эту функцию обратного вызова, если она хочет обработать политику буферизации для отправки отчетов ввода HID. Если этот обратный вызов указан, VHF не буферизирует эти отчеты. Драйвер источника HID должен отправлять один отчет путем вызова VhfReadReportSubmit, при каждом вызове VHF EvtVhfReadyForNextReadReport.
EvtVhfAsyncOperationGetFeature
Необязательный. Указатель на обратный вызов EvtVhfAsyncOper ation. Драйвер источника HID должен реализовать и зарегистрировать эту функцию обратного вызова, если она хочет получить отчет о функциях HID, связанный с Top-Level коллекцией из пары драйверов класса HID. Драйвер может получить отчет о функциях, только если дескриптор отчета объявляет его.
EvtVhfAsyncOperationSetFeature
Необязательный. Указатель на обратный вызов EvtVhfAsyncOper ation. Драйвер источника HID должен реализовать и зарегистрировать эту функцию обратного вызова, если она хочет отправить отчет о функциях HID, связанный с Top-Level коллекцией в пару драйверов класса HID. Драйвер может задать отчет о функциях, только если дескриптор отчета объявляет его.
EvtVhfAsyncOperationWriteReport
Необязательный. Указатель на обратный вызов EvtVhfAsyncOper ation. Драйвер источника HID должен реализовать и зарегистрировать эту функцию обратного вызова, если она хочет поддерживать отчеты о выходных данных HID и отправлять их в пару драйверов класса HID.
EvtVhfAsyncOperationGetInputReport
Необязательный. Указатель на обратный вызов EvtVhfAsyncOper ation. Драйвер источника HID должен реализовать и зарегистрировать эту функцию обратного вызова, если она хочет поддерживать запрос по запросу на входные отчеты.
EvtVhfCleanup
Необязательный. Указатель на обратный вызов EvtVhfCleanup. Драйвер источника HID может реализовать и зарегистрировать эту функцию обратного вызова, если она хочет освободить выделенные ресурсы для виртуального устройства HID.
HardwareIDsLength
HardwareIDs
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 |
| минимальный поддерживаемый сервер | Не поддерживается |
| заголовка | vhf.h |
См. также
Написание исходного драйвера HID с помощью Virtual HID Framework (VHF)