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 alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui.

La funzione VmbChannelCreateGpadlFromMdl crea un elenco GPADL (Guest Physical Address Descriptor List) che descrive un buffer lato client. Il 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. Di seguito sono indicati i valori possibili:

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, 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 del file 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.

Commenti

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.

Il GPADL deve essere eliminato 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.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1803
Intestazione vmbuskernelmodeclientlibapi.h

Vedi anche

VmbChannelDeleteGpadl

VmbChannelMapGpadl