EVT_VHF_ASYNC_OPERATION funzione di callback (vhf.h)
Il driver di origine HID implementa questo callback dell'evento se vuole supportare una delle quattro operazioni asincrone per ottenere e impostare i 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 nel VHF_CONFIG struttura 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 VHF_CONFIG fornita a VhfCreate.
[in] HidTransferPacket
Puntatore a una struttura HID_XFER_PACKET . Contiene informazioni su un report HID e viene usato dal driver di origine HID e dalla coppia di driver HID/mini per le richieste di I/O per ottenere o impostare un report.
Valore restituito
nessuno
Osservazioni
Esistono quattro tipi di operazioni asincrone che il driver di origine HID può supportare: GetFeature, SetFeature, WriteReport, GetInputReport.
Quando VHF ottiene una richiesta che imposta o esegue query su un report HID, VHF richiama la funzione di callback EvtVhfAsyncOperation registrata in precedenza 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 EvtVhfAsyncOperationOperation.
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 del 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.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Server minimo supportato | Nessuno supportato |
Piattaforma di destinazione | Desktop |
Intestazione | vhf.h |
IRQL | <=DISPATCH_LEVEL |
Vedi anche
Scrivere un driver di origine HID usando Virtual HID Framework (VHF)