FN_VMB_CHANNEL_MAP_GPADL funzione di callback (vmbuskernelmodeclientlibapi.h)

[Alcune informazioni si riferiscono al prodotto pre-rilasciato che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non offre garanzie, esplicite o implicite, rispetto alle informazioni fornite qui.

La funzione VmbChannelMapGpadl esegue il mapping di un buffer lato client nello spazio indirizzi fisici lato server usando un numero di descrittore indirizzo fisico guest (GPADL).

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 valori del flag possibili sono:

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

Se questo valore di flag non è impostato, la funzione tenta di eseguire il mapping di GPADL per l'accesso in scrittura. Se GPADL non è stato creato con l'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 live e dello snapshot.

GpadlHandle

Handle GPADL di GPADL da mappare.

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.

Commenti

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

Solo un singolo mapping può esistere per qualsiasi GPADL specificato alla volta.

È necessario associare chiamate a questa funzione con 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 di sola server a cui è stato eseguito l'accesso dalla struttura KMCL_SERVER_ONLY_METHODS .

Per altre informazioni, vedere la sezione Osservazioni di KMCL_SERVER_ONLY_METHODS.

Requisiti

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

Vedi anche

VmbChannelCreateGpadlFromBuffer

VmbChannelUnmapGpadl