Esci dall'intercetta registra

Dati di contesto per un'uscita arm64 causata da un accesso al registro intercettato.

Note

Questo motivo di uscita e la relativa struttura di contesto si applicano solo alle partizioni arm64.

Sintassi

//
// Context data for an exit caused by an intercepted register access
// (WHvMessageTypeRegisterIntercept)
//

//
// Define register intercept message structure.
//
typedef union WHV_REGISTER_ACCESS_INFO
{
    WHV_REGISTER_VALUE SourceValue;
    WHV_REGISTER_NAME DestinationRegister;
} WHV_REGISTER_ACCESS_INFO;

typedef struct WHV_REGISTER_CONTEXT
{
    WHV_INTERCEPT_MESSAGE_HEADER Header;
    struct
    {
        UINT8 IsMemoryOp:1;
        UINT8 Reserved:7;
    };
    UINT8 Reserved8;
    UINT16 Reserved16;
    WHV_REGISTER_NAME RegisterName;
    WHV_REGISTER_ACCESS_INFO AccessInfo;
} WHV_REGISTER_CONTEXT;

Remarks

Nella struttura vengono fornite WHV_REGISTER_CONTEXT informazioni su un'uscita causata dal processore virtuale che accede a un registro di sistema intercettato. L'uscita viene segnalata con il motivo di WHvMessageTypeRegisterIntercept uscita.

L'uscita viene generata quando il guest scrive uno dei registri di arresto anomalo del guest sintetico, WHvRegisterGuestCrashP0 tramite WHvRegisterGuestCrashP4o WHvRegisterGuestCrashCtl , che un guest può usare per segnalare un arresto anomalo allo stack di virtualizzazione.

Il Header membro è un WHV_INTERCEPT_MESSAGE_HEADERoggetto , che segnala il contatore del programma () e lo stato del processore salvato (PcCpsr) al momento dell'accesso, insieme alla direzione di accesso in WHV_INTERCEPT_MESSAGE_HEADER.InterceptAccessType (un WHV_MEMORY_ACCESS_TYPE valore).

Il RegisterName membro è il WHV_REGISTER_NAME del registro intercettato. Il AccessInfo membro contiene il valore per una scrittura del registro e identifica la destinazione per la lettura di un registro:

  • AccessInfo.SourceValue è un WHV_REGISTER_VALUE oggetto che contiene il valore scritto per una scrittura di registro.
  • AccessInfo.DestinationRegister è un WHV_REGISTER_NAME oggetto che identifica il registro di destinazione per una lettura del registro.

Il IsMemoryOp bit indica se l'accesso intercettato è un'operazione di memoria.

Vedere anche