EVT_VMB_CHANNEL_SAVE_PACKET Rückruffunktion (vmbuskernelmodeclientlibapi.h)
[Einige Informationen beziehen sich auf vorab veröffentlichte Produkte, die vor der kommerziellen Veröffentlichung erheblich geändert werden können. Microsoft übernimmt keine Gewährleistungen, ausdrücklich oder konkludent in Bezug auf die hier bereitgestellten Informationen.]
Die EvtVmbChannelSavePacket Rückruffunktion wird aufgerufen, wenn der VSP-Endpunkt (Virtualization Service Provider) den status speichern muss, der einem Paket zugeordnet ist.
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, in dem das Paket eintrifft.
[in] Packet
Das Paket, für das VSP den Zustand speichert.
[out] SaveBuf
Der Puffer, in dem der Zustand gespeichert werden soll.
[in] SaveBufSize
Größe des SaveBuf--Parameters in Byte.
[out] BytesNeeded
Größe erforderlich, um den Status der Transaktion in Bytes zu speichern.
Rückgabewert
EvtVmbChannelSavePacket gibt einen Statuscode zurück.
Bemerkungen
Die VmbServerChannelInitSetSaveRestorePacketCallbacks--Funktion legt eine Rückruffunktion zum Speichern von Paketen für jeden Kanal fest.
Der VSP speichert den Status, der der Transaktion zugeordnet ist, die für den VSP eindeutig ist. Die Kernelmodus-Clientbibliothek (KERNEL Mode Client Library, 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 vorhanden ist, der gespeichert werden muss, der die BytesNeededed- mit der tatsächlichen Größenanforderung ausfüllt. Wenn dieser erste Aufruf einen Fehlercode zurückgibt, ruft die KMCL ein zweites Mal mit einem Puffer von mindestens der im ersten Aufruf festgelegten Länge auf.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Fenster |
Header- | vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h) |
IRQL- | PASSIVE_LEVEL |