EVT_VMB_CHANNEL_PROCESS_PACKET Rückruffunktion (vmbuskernelmodeclientlibapi.h)
[Einige Informationen beziehen sich auf die Vorabversion, die vor der kommerziellen Freigabe möglicherweise wesentlichen Änderungen unterliegt. Microsoft übernimmt für die hier bereitgestellten Informationen keine Gewährleistung, weder ausdrücklicher noch impliziter Art.]
Die Rückruffunktion EvtVmbChannelProcessPacket wird aufgerufen, wenn ein Paket im eingehenden Ringpuffer eingeht.
Syntax
EVT_VMB_CHANNEL_PROCESS_PACKET EvtVmbChannelProcessPacket;
void EvtVmbChannelProcessPacket(
[in] VMBCHANNEL Channel,
[in] VMBPACKETCOMPLETION Packet,
[in] PVOID Buffer,
[in] UINT32 BufferLength,
[in] UINT32 Flags
)
{...}
Parameter
[in] Channel
Der Kanal, auf dem das Paket eingeht.
[in] Packet
Der Abschlusskontext, der dieses Paket an die Kernelmodus-Clientbibliothek (KMCL) identifiziert, wenn die Transaktion eingestellt werden kann.
[in] Buffer
Das Paket, das vom entgegengesetzten Endpunkt gesendet wurde. Dieser Wert enthält nicht die VMBus- und KMCL-Header.
[in] BufferLength
Die Länge des Buffer-Parameters in Bytes.
[in] Flags
Flaggen. Folgende Werte sind möglich:
Wert | Bedeutung |
---|---|
|
Das Paket verweist auf externe Daten. Diese Daten können mithilfe der Funktion VmbChannelPacketGetExternalData abgerufen werden. |
Rückgabewert
Keine
Bemerkungen
Der Clienttreiber registriert seine Implementierung dieser Rückruffunktion mithilfe der Funktion VmbChannelInitSetProcessPacketCallbacks .
Jedes Mal, wenn Sie diese Funktion aufrufen, müssen Sie schließlich die Funktion VmbChannelPacketComplete aufrufen.
Diese Rückruffunktion kann bei DISPATCH_LEVEL oder niedriger aufgerufen werden, es sei denn, der Kanal wurde so konfiguriert, dass die Paketverarbeitung auf einen Workerthread zurückgestellt wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | vmbuskernelmodeclientlibapi.h (einschließen VmbusKernelModeClientLibApi.h) |
IRQL | <=DISPATCH_LEVEL |