EVT_VHF_ASYNC_OPERATION función de devolución de llamada (vhf.h)
El controlador de origen HID implementa esta devolución de llamada de eventos si quiere admitir una de las cuatro operaciones asincrónicas para obtener y establecer informes HID.
Sintaxis
EVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperation;
void EvtVhfAsyncOperation(
[in] PVOID VhfClientContext,
[in] VHFOPERATIONHANDLE VhfOperationHandle,
[in, optional] PVOID VhfOperationContext,
[in] PHID_XFER_PACKET HidTransferPacket
)
{...}
Parámetros
[in] VhfClientContext
Puntero opaco a un búfer definido por el controlador de origen HID que el controlador pasó en la estructura VHF_CONFIG proporcionada a VhfCreate para crear el dispositivo HID virtual.
[in] VhfOperationHandle
Identificador opaco que identifica de forma única esta operación asincrónica.
[in, optional] VhfOperationContext
Puntero a un búfer que el controlador de origen HID puede usar para mantener la operación. El controlador de origen HID especifica el tamaño del búfer en la estructura de VHF_CONFIG proporcionada a VhfCreate.
[in] HidTransferPacket
Puntero a una estructura HID_XFER_PACKET . Contiene información sobre un informe HID y lo usa el controlador de origen HID y el par de controladores hid/mini para solicitudes de E/S para obtener o establecer un informe.
Valor devuelto
None
Observaciones
Hay cuatro tipos de operaciones asincrónicas que el controlador de origen HID puede admitir: GetFeature, SetFeature, WriteReport, GetInputReport.
Cuando VHF obtiene una solicitud que establece o consulta un informe HID, VHF invoca la función de devolución de llamada EvtVhfAsyncOperation registrada anteriormente y se inicia una operación asincrónica. Cada operación se identifica mediante un identificador VHFOPERATIONHANDLE establecido por VHF. Si el controlador especificó un valor distinto de cero en el miembro OperationContextSize del VHF_CONFIG durante la inicialización, VHF asigna un búfer de ese tamaño y pasa un puntero a ese búfer en el parámetro VhfOperationContext cuando invoca EvtVhfAsyncOperation.
HidTransferPacket es el búfer de transferencia para esta operación que apunta a una estructura asignada por VHF que contiene detalles específicos del informe HID. Por ejemplo, si la operación es GetFeature, al finalizar, el controlador de origen HID rellena el búfer con el informe de características HID solicitado.
Una vez completada la operación, el origen HID llama a VhfAsyncOperationComplete para notificar el estado de finalización.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10 |
Servidor mínimo compatible | No se admite ninguno |
Plataforma de destino | Escritorio |
Encabezado | vhf.h |
IRQL | <=DISPATCH_LEVEL |
Consulte también
Escribir un controlador de origen HID mediante Virtual HID Framework (VHF)