示例#1
0
// Initializes MemoryMon
_Use_decl_annotations_ NTSTATUS MmonInitialization() {
  PAGED_CODE();

  auto status = MmonpInitializeMmPfnDatabase();
  if (!NT_SUCCESS(status)) {
    return status;
  }

  // This execution should NOT be detected since a system is not virtualized yet
  MmonExecuteDoggyRegion();
  return STATUS_SUCCESS;
}
示例#2
0
// Initializes MemoryMon
_Use_decl_annotations_ NTSTATUS
MmonInitialization(PDRIVER_OBJECT driver_object) {
  PAGED_CODE();

  auto status = MmonpInitializeRtlPcToFileHeader(driver_object);
  HYPERPLATFORM_LOG_DEBUG("PcToFileHeader = %p", g_mmonp_RtlPcToFileHeader);
  if (!NT_SUCCESS(status)) {
    return status;
  }

  status = MmonpInitializeMmPfnDatabase();
  HYPERPLATFORM_LOG_DEBUG("MmPfnDatabase = %p", g_mmonp_MmPfnDatabase);
  if (!NT_SUCCESS(status)) {
    return status;
  }

  MmonExecuteDoggyRegion();
  return STATUS_SUCCESS;
}