Condividi tramite


FN_VMB_CHANNEL_MAP_GPADL 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 VmbChannelMapGpadl esegue il mapping di un buffer sul lato client nello spazio degli indirizzi fisici sul lato server usando un numero GPADL (Guest Physical Address Descriptor List).

Sintassi

FN_VMB_CHANNEL_MAP_GPADL FnVmbChannelMapGpadl;

NTSTATUS FnVmbChannelMapGpadl(
  VMBCHANNEL Channel,
  UINT32 Flags,
  UINT32 GpadlHandle,
  PMDL *Mdl
)
{...}

Parametri

Channel

Handle per un canale.

Flags

Bandiere. I possibili valori di flag sono:

Valore Significato
VMBUS_CHANNEL_GPADL_FLAG_READ_ONLY
Eseguire il mapping con accesso di sola lettura.
 

Se questo valore del flag non è impostato, la funzione tenta di eseguire il mapping di GPADL per l'accesso in scrittura. Se GPADL non è stato creato con accesso in scrittura, questo tentativo di mapping ha esito negativo. Il chiamante non impedisce la scrittura nel buffer se questo flag è impostato. Questo schema viene usato per migliorare le prestazioni della migrazione in tempo reale e della creazione di snapshot.

GpadlHandle

Handle GPADL di GPADL di cui eseguire il mapping.

Mdl

Puntatore a un MDL che descrive il buffer client. Questo buffer viene mappato solo nello spazio indirizzi fisico. Il chiamante deve eseguire passaggi aggiuntivi per eseguirne il mapping nello spazio indirizzi virtuale.

Valore restituito

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

Osservazioni

GPADL deve essere stato pre-stabilito dal client, ad esempio usando la funzione VmbChannelCreateGpadlFromBuffer.

Per un determinato GPADL alla volta può esistere un solo mapping.

È necessario associare le chiamate a questa funzione con le chiamate alla funzione VmbChannelUnmapGpadl.

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 solo server a cui si accede dalla struttura KMCL_SERVER_ONLY_METHODS.

Per altre informazioni, vedere la sezione Osservazioni di KMCL_SERVER_ONLY_METHODS.

Fabbisogno

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

Vedere anche

VmbChannelCreateGpadlFromBuffer

VmbChannelUnmapGpadl