/* The exception #0 stub header is duplicated in an allocated pool with extra 4-byte/8-byte to store the exception handler data. The new allocated memory layout follows structure  */
EXCEPTION_HANDLER_DATA* GetExceptionHandlerData(VOID)
/* The exception #0 stub header is duplicated in an allocated pool with extra 4-byte/8-byte to store the exception handler data. The new allocated memory layout follows structure  */
EXCEPTION_HANDLER_DATA* GetExceptionHandlerData(VOID)
{
  IA32_DESCRIPTOR           IdtDescriptor;
  IA32_IDT_GATE_DESCRIPTOR  *IdtTable;
  EXCEPTION0_STUB_HEADER    *Exception0StubHeader;
  AsmReadIdtr (&IdtDescriptor);
  IdtTable = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor.Base;
  Exception0StubHeader = (EXCEPTION0_STUB_HEADER *)ArchGetIdtHandler (&IdtTable[0]);
  return Exception0StubHeader->ExceptionHandlerData;
}