функция обратного вызова EVT_VHF_ASYNC_OPERATION (vhf.h)
Драйвер источника HID реализует этот обратный вызов события, если он хочет поддерживать одну из четырех асинхронных операций для получения и настройки отчетов HID.
Синтаксис
EVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperation;
void EvtVhfAsyncOperation(
[in] PVOID VhfClientContext,
[in] VHFOPERATIONHANDLE VhfOperationHandle,
[in, optional] PVOID VhfOperationContext,
[in] PHID_XFER_PACKET HidTransferPacket
)
{...}
Параметры
[in] VhfClientContext
Непрозрачный указатель на буфер, определенный драйвером HID, который драйвер передал в VHF_CONFIG структуре, предоставленной VhfCreate для создания виртуального устройства HID.
[in] VhfOperationHandle
Непрозрачный дескриптор, который однозначно идентифицирует эту асинхронную операцию.
[in, optional] VhfOperationContext
Указатель на буфер, который может использоваться драйвером источника HID для обслуживания операции. Размер буфера определяется драйвером источника HID в структуре VHF_CONFIG , предоставленной VhfCreate.
[in] HidTransferPacket
Указатель на структуру HID_XFER_PACKET . Содержит сведения об отчете HID и используется исходным драйвером HID и парой классов HID/мини-драйверов для запросов ввода-вывода для получения или настройки отчета.
Возвращаемое значение
None
Remarks
Существует четыре типа асинхронных операций, которые может поддерживать драйвер источника HID: GetFeature, SetFeature, WriteReport, GetInputReport.
Когда VHF получает запрос, который задает или запрашивает отчет HID, VHF вызывает ранее зарегистрированную функцию обратного вызова EvtVhfAsyncOperation и запускает асинхронную операцию. Каждая операция определяется дескриптором VHFOPERATIONHANDLE, заданным VHF. Если драйвер указал ненулевое значение в элементе OperationContextSize VHF_CONFIG во время инициализации, VHF выделяет буфер такого размера и передает указатель на этот буфер в параметре VhfOperationContext при вызове EvtVhfAsyncOperationOperation.
HidTransferPacket — это буфер передачи для этой операции, указывающий на структуру, выделенную VHF, содержащую сведения, относящиеся к отчету HID. Например, если операция имеет значение GetFeature, по завершении буфер заполняется исходным драйвером HID с запрошенным отчетом о функциях HID.
После завершения операции источник HID вызывает VhfAsyncOperationComplete , чтобы сообщить о состоянии завершения.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Минимальная версия сервера | Ни одна версия не поддерживается |
Целевая платформа | Персональный компьютер |
Верхняя часть | vhf.h |
IRQL | <=DISPATCH_LEVEL |
См. также раздел
Создание исходного драйвера HID с помощью Виртуальной платформы HID (VHF)