Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйвер источника 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/мини-драйверов для получения или задания отчета.
Возвращаемое значение
Никакой
Замечания
Существует четыре типа асинхронных операций, поддерживаемых драйвером источника HID: GetFeature, SetFeature, WriteReport, GetInputReport.
Когда VHF получает запрос, который задает или запрашивает отчет HID, VHF вызывает ранее зарегистрированную EvtVhfAsyncOperation функцию обратного вызова и асинхронную операцию. Каждая операция определяется дескриптором VHFOPERATIONHANDLE, заданным VHF. Если драйвер указал ненулевое значение в элементе OperationContextSize элемента VHF_CONFIG во время инициализации, VHF выделяет буфер этого размера и передает указатель на этот буфер в параметре VhfOperationContext при вызове EvtVhfAsyncOperation.
HidTransferPacket — это буфер передачи для этой операции, указывающий на выделенную VHF структуру, содержащую сведения о отчете HID. Например, если операция GetFeature, после завершения буфер заполняется драйвером источника HID с запрошенным отчетом о функциях HID.
По завершении операции вызовы источника HID VhfAsyncOperationComplete, чтобы сообщить о состоянии завершения.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 |
| минимальный поддерживаемый сервер | Не поддерживается |
| целевая платформа | Настольный |
| заголовка | vhf.h |
| IRQL | <=DISPATCH_LEVEL |
См. также
Написание исходного драйвера HID с помощью Virtual HID Framework (VHF)