EVT_VHF_ASYNC_OPERATION funzione di callback (vhf.h)
Il driver di origine HID implementa questo callback di eventi se vuole supportare una delle quattro operazioni asincrone per ottenere e impostare report HID.
Sintassi
EVT_VHF_ASYNC_OPERATION EvtVhfAsyncOperation;
void EvtVhfAsyncOperation(
[in] PVOID VhfClientContext,
[in] VHFOPERATIONHANDLE VhfOperationHandle,
[in, optional] PVOID VhfOperationContext,
[in] PHID_XFER_PACKET HidTransferPacket
)
{...}
Parametri
[in] VhfClientContext
Puntatore opaco a un buffer definito dal driver di origine HID passato dal driver nella struttura VHF_CONFIG fornita a VhfCreate per creare il dispositivo HID virtuale.
[in] VhfOperationHandle
Handle opaco che identifica in modo univoco questa operazione asincrona.
[in, optional] VhfOperationContext
Puntatore a un buffer che può essere usato dal driver di origine HID per la manutenzione dell'operazione. Le dimensioni del buffer vengono specificate dal driver di origine HID nella struttura di VHF_CONFIG fornita per VhfCreate.
[in] HidTransferPacket
Puntatore a una struttura HID_XFER_PACKET. Contiene informazioni su un report HID e viene utilizzato dal driver di origine HID e dalla coppia di driver HID classe/mini driver per le richieste di I/O per ottenere o impostare un report.
Valore restituito
Nessuno
Osservazioni
Esistono quattro tipi di operazioni asincrone supportate dal driver di origine HID: GetFeature, SetFeature, WriteReport, GetInputReport.
Quando VHF ottiene una richiesta che imposta o esegue query su un report HID, VHF richiama il registrato in precedenza EvtVhfAsyncOperation funzione di callback e viene avviata un'operazione asincrona. Ogni operazione viene identificata da un handle VHFOPERATIONHANDLE impostato da VHF. Se il driver ha specificato un valore diverso da zero nel membro OperationContextSize del VHF_CONFIG durante l'inizializzazione, VHF alloca un buffer di tale dimensione e passa un puntatore a tale buffer nel parametro VhfOperationContext quando richiama EvtVhfAsyncOperation.
hidTransferPacket è il buffer di trasferimento per questa operazione che punta a una struttura allocata VHF contenente dettagli specifici del report HID. Ad esempio, se l'operazione è GetFeature, al completamento il buffer viene riempito dal driver di origine HID con il report delle funzionalità HID richiesto.
Al termine dell'operazione, l'origine HID chiama VhfAsyncOperationComplete per segnalare lo stato di completamento.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10 |
server minimo supportato | Nessuna supportata |
piattaforma di destinazione | Desktop |
intestazione | vhf.h |
IRQL | <=DISPATCH_LEVEL |
Vedere anche
scrivere un driver di origine HID usando VHF (Virtual HID Framework)