System.TInitContext

From Appmethod Libraries
Jump to: navigation, search

Object Pascal

  TInitContext = record
    OuterContext:   PInitContext;     { saved InitContext   }
{$IFNDEF PC_MAPPED_EXCEPTIONS}
    ExcFrame:       Pointer;          { bottom exc handler  }
{$ENDIF}
    InitTable:      PackageInfo;      { unit init info      }
    InitCount:      Integer;          { how far we got      }
    Module:         PLibModule;       { ptr to module desc  }
{$IFDEF CPUX86}
    DLLSaveEBP:     Pointer;          { saved regs for DLLs }
    DLLSaveEBX:     Pointer;          { saved regs for DLLs }
    DLLSaveESI:     Pointer;          { saved regs for DLLs }
    DLLSaveEDI:     Pointer;          { saved regs for DLLs }
{$ENDIF}
{$IFDEF MSWINDOWS}
    ExitProcessTLS: procedure;        { Shutdown for TLS    }
{$ENDIF}
    DLLInitState:   Byte;             { 0 = package, 1 = DLL shutdown, 2 = DLL startup }
    ThreadID:       TThreadID;        { Initializing Thread }
{$IFDEF TABLE_BASED_EXCEPTIONS}
{$IFDEF CPUX64}
    ExitDllJmpBuf:  __TExitDllJumpBuf;
{$ENDIF}
{$ENDIF}
  end platform;

C++

struct DECLSPEC_DRECORD TInitContext
{
public:
    TInitContext *OuterContext;
    void *ExcFrame;
    PackageInfoTable *InitTable;
    int InitCount;
    TLibModule *Module;
    void *DLLSaveEBP;
    void *DLLSaveEBX;
    void *DLLSaveESI;
    void *DLLSaveEDI;
    void __fastcall (*ExitProcessTLS)(void);
    Byte DLLInitState;
    unsigned ThreadID;
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.pas
System.hpp
System System

Description

Is used internally.

TInitContext is used internally by the Object Pascal compiler.

See Also