Condividi tramite


FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL 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 garanzie, esplicite o implicite, relativamente alle informazioni fornite qui.

La funzione VmbChannelCreateGpadlFromMdl crea un elenco GPADL (Guest Physical Address Descriptor List) che descrive un buffer sul lato client. GPADL può essere usato nel server per accedere al buffer.

Sintassi

FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL FnVmbChannelCreateGpadlFromMdl;

NTSTATUS FnVmbChannelCreateGpadlFromMdl(
  VMBCHANNEL Channel,
  UINT32 Flags,
  PMDL Mdl,
  UINT32 StartOffsetWithinMdl,
  UINT32 DataLengthWithinMdl,
  PUINT32 GpadlHandle
)
{...}

Parametri

Channel

Handle per un canale.

Flags

Bandiere. I valori possibili sono i seguenti:

Valore Significato
VMBUS_CHANNEL_GPADL_READ_ONLY
Se si specifica questo valore, il buffer è di sola lettura. In caso contrario, il server può scrivere nel buffer. Questa non è una misura di sicurezza, ma può migliorare le prestazioni di snapshot e migrazione in tempo reale.

Mdl

Puntatore a una catena MDL (Memory Descriptor List) che descrive il buffer. Il buffer può avere più parti, che vengono concatenati usando il puntatore MDL successivo.

StartOffsetWithinMdl

Offset, in byte, nel file MDL in corrispondenza del quale avviare il mapping.

DataLengthWithinMdl

Lunghezza, in byte, della catena di buffer. Se questo valore è zero (0), usare fino alla fine del file MDL.

GpadlHandle

Handle GPADL dell'MDL creato. Inviarlo al server da usare con la funzione VmbChannelMapGpadl.

Valore restituito

Restituisce STATUS_SUCCESS se l'operazione ha esito positivo o un codice di errore NTSTATUS appropriato in caso contrario.

Osservazioni

Al termine di questa funzione, l'endpoint server può chiamare VmbChannelMapGpadl, perché VMBus invierà già la descrizione GPADL all'endpoint opposto e riceverà la conferma.

È necessario eliminare GPADL usando la funzione VmbChannelDeleteGpadl.

Importante

Questa funzione viene chiamata tramite l'interfaccia VMBus Kernel Mode Client Library (KMCL), fornita dal driver del bus di Vmbkmcl.sys. Si tratta di una funzione client a cui si accede dalla struttura KMCL_CLIENT_INTERFACE_V1.

Per altre informazioni, vedere la sezione Osservazioni del KMCL_CLIENT_INTERFACE_V1.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 1803
intestazione vmbuskernelmodeclientlibapi.h

Vedere anche

VmbChannelDeleteGpadl

VmbChannelMapGpadl