Freigeben über


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

Siehe auch

VmbServerChannelInitSetSaveRestorePacketCallbacks