EVT_VMB_CHANNEL_PROCESS_PACKET funzione di callback (vmbuskernelmodeclientlibapi.h)
[Alcune informazioni riguardano il prodotto non rilasciato che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui.
La funzione di callback EvtVmbChannelProcessPacket viene richiamata quando un pacchetto arriva nel buffer circolare in ingresso.
Sintassi
EVT_VMB_CHANNEL_PROCESS_PACKET EvtVmbChannelProcessPacket;
void EvtVmbChannelProcessPacket(
[in] VMBCHANNEL Channel,
[in] VMBPACKETCOMPLETION Packet,
[in] PVOID Buffer,
[in] UINT32 BufferLength,
[in] UINT32 Flags
)
{...}
Parametri
[in] Channel
Canale in cui arriva il pacchetto.
[in] Packet
Contesto di completamento, che identifica questo pacchetto nella libreria client in modalità kernel (KMCL) quando la transazione può essere ritirata.
[in] Buffer
Pacchetto inviato dall'endpoint opposto. Questo valore non contiene le intestazioni VMBus e KMCL.
[in] BufferLength
Lunghezza in byte del parametro Buffer .
[in] Flags
Bandiere. I possibili valori sono i seguenti:
Valore | Significato |
---|---|
|
Il pacchetto fa riferimento a dati esterni. Questi dati possono essere recuperati usando la funzione VmbChannelPacketGetExternalData . |
Valore restituito
nessuno
Osservazioni
Il driver client registra l'implementazione di questa funzione di callback usando la funzione VmbChannelInitSetProcessPacketCallbacks .
Ogni volta che si richiama questa funzione, è necessario chiamare la funzione VmbChannelPacketComplete .
Questa funzione di callback può essere richiamata a DISPATCH_LEVEL o inferiore, a meno che il canale non sia stato configurato per rinviare l'elaborazione dei pacchetti a un thread di lavoro.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h) |
IRQL | <=DISPATCH_LEVEL |