EVT_VMB_CHANNEL_SAVE_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 EvtVmbChannelSavePacket wird aufgerufen, wenn der VSP-Endpunkt (Virtualization Service Provider) den einem Paket zugeordneten Zustand speichern muss.
Syntax
EVT_VMB_CHANNEL_SAVE_PACKET EvtVmbChannelSavePacket;
NTSTATUS EvtVmbChannelSavePacket(
[in] VMBCHANNEL Channel,
[in] VMBPACKET Packet,
[out] PVOID SaveBuf,
[in] UINT32 SaveBufSize,
[out] PUINT32 BytesNeeded
)
{...}
Parameter
[in] Channel
Der Kanal, auf dem das Paket eingeht.
[in] Packet
Das Paket, für das VSP den Status speichert.
[out] SaveBuf
Der Puffer, in dem der Zustand gespeichert werden soll.
[in] SaveBufSize
Größe des SaveBuf-Parameters in Bytes.
[out] BytesNeeded
Die zum Speichern des Transaktionsstatus erforderliche Größe in Bytes.
Rückgabewert
EvtVmbChannelSavePacket gibt einen status Code zurück.
Hinweise
Die Funktion VmbServerChannelInitSetSaveRestorePacketCallbacks legt eine Rückruffunktion zum Speichern von Paketen für jeden Kanal fest.
Der VSP speichert den Zustand, der der Transaktion zugeordnet ist, der für den VSP eindeutig ist. Die Kernelmodus-Clientbibliothek (KMCL) speichert ihren eigenen Zustand.
Diese Funktion wird für jedes Paketobjekt aufgerufen, das derzeit verwendet wird. Der erste Aufruf übergibt einen Nullwert (0) für den SaveBufSize-Parameter . Dieser Aufruf schlägt fehl, wenn ein Zustand gespeichert werden muss, der bytesNeeded mit der tatsächlichen Größenanforderung füllt. Wenn dieser erste Aufruf einen Fehlercode zurückgibt, ruft die KMCL ein zweites Mal mit einem Puffer von mindestens der länge auf, die im ersten Aufruf angegeben ist.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | vmbuskernelmodeclientlibapi.h (einschließlich VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |