131 Hook->Disabled =
TRUE;
141 ERROR(
"[ERROR] IntHookXcrDeleteHook failed: 0x%08x\n", status);
162 ERROR(
"[ERROR] IntHookXcrRemoveHook failed: 0x%08x\n", status);
197 ERROR(
"[ERROR] IntHookXcrDeleteHook failed: 0x%08x\n", status);
INTSTATUS IntHookXcrRemoveHook(HOOK_XCR *Hook)
Remove an extended control register hook.
#define INT_STATUS_SUCCESS
#define INT_SUCCESS(Status)
INTSTATUS IntHookXcrCommit(void)
Commit the extended control register hooks.
#define HpAllocWithTag(Len, Tag)
int INTSTATUS
The status data type.
DWORD Flags
Flags. Can be used by the caller.
BOOLEAN Disabled
If true, the hook has been removed/disabled.
INTSTATUS IntHookXcrUninit(void)
Uninit the extended control register hooks state.
#define INT_STATUS_NOT_INITIALIZED
static BOOLEAN RemoveEntryList(LIST_ENTRY *Entry)
XCR_HOOK_STATE * XcrHooks
XCR hook state.
INTSTATUS IntHookXcrInit(void)
Initialize the extended control registers hook state.
CPU_STATE State
The state of this VCPU. Describes what action is the VCPU currently doing.
void * Context
Optional context.
#define HpFreeAndNullWithTag(Add, Tag)
static void InsertTailList(LIST_ENTRY *ListHead, LIST_ENTRY *Entry)
static INTSTATUS IntDisableXcrNotifications(void)
static void InitializeListHead(LIST_ENTRY *ListHead)
GUEST_STATE gGuest
The current guest state.
PFUNC_XcrWriteHookCallback Callback
Callback.
static INTSTATUS IntEnableXcrNotifications(void)
#define INT_STATUS_NOT_INITIALIZED_HINT
#define INT_STATUS_INVALID_PARAMETER_1
LIST_HEAD XcrHooksList
The list of XCR hooks.
VCPU_STATE * gVcpu
The state of the current VCPU.
static INTSTATUS IntHookXcrDeleteHook(HOOK_XCR *Hook)
Permanently delete an extended control register hook.
LIST_ENTRY Link
List entry element.
INT64 HooksCount
Total number of XCR hooks.
DWORD Xcr
Intercepted XCR.
#define list_for_each(_head, _struct_type, _var)
INTSTATUS(* PFUNC_XcrWriteHookCallback)(void *Context, DWORD Xcr, INTRO_ACTION *Action)
Extended control register write callback.
static void IntHookXcrRemoveAllHooks(void)
Remove all extended control register write hooks.
INTSTATUS IntHookXcrSetHook(DWORD Xcr, DWORD Flags, PFUNC_XcrWriteHookCallback Callback, void *Context, HOOK_XCR **Hook)
Set an extended control register write hook.
#define INT_STATUS_INSUFFICIENT_RESOURCES
#define INT_STATUS_INVALID_PARAMETER_3