home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / packages / win32ada / data.z / win32-vdmdbg.ads < prev    next >
Encoding:
Text File  |  1996-03-15  |  17.7 KB  |  312 lines

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-vdmdbg.ads,v $ 
  2. -- $Revision: 1.12 $ $Date: 96/03/15 12:56:22 $ $Author: stm $ 
  3. -- See end of file for Copyright (c) information.
  4.  
  5. with Win32.Winbase;
  6. with Win32.Winnt;
  7.  
  8. package Win32.Vdmdbg is
  9.  
  10.     DBG_SEGLOAD                : constant := 0;             -- vdmdbg.h:29
  11.     DBG_SEGMOVE                : constant := 1;             -- vdmdbg.h:30
  12.     DBG_SEGFREE                : constant := 2;             -- vdmdbg.h:31
  13.     DBG_MODLOAD                : constant := 3;             -- vdmdbg.h:32
  14.     DBG_MODFREE                : constant := 4;             -- vdmdbg.h:33
  15.     DBG_SINGLESTEP             : constant := 5;             -- vdmdbg.h:34
  16.     DBG_BREAK                  : constant := 6;             -- vdmdbg.h:35
  17.     DBG_GPFAULT                : constant := 7;             -- vdmdbg.h:36
  18.     DBG_DIVOVERFLOW            : constant := 8;             -- vdmdbg.h:37
  19.     DBG_INSTRFAULT             : constant := 9;             -- vdmdbg.h:38
  20.     DBG_TASKSTART              : constant := 10;            -- vdmdbg.h:39
  21.     DBG_TASKSTOP               : constant := 11;            -- vdmdbg.h:40
  22.     DBG_DLLSTART               : constant := 12;            -- vdmdbg.h:41
  23.     DBG_DLLSTOP                : constant := 13;            -- vdmdbg.h:42
  24.     DBG_ATTACH                 : constant := 14;            -- vdmdbg.h:43
  25.     VDMCONTEXT_i386            : constant := 16#10000#;     -- vdmdbg.h:50
  26.     VDMCONTEXT_i486            : constant := 16#10000#;     -- vdmdbg.h:51
  27.     VDMCONTEXT_CONTROL         : constant := 16#10001#;     -- vdmdbg.h:53
  28.     VDMCONTEXT_INTEGER         : constant := 16#10002#;     -- vdmdbg.h:54
  29.     VDMCONTEXT_SEGMENTS        : constant := 16#10004#;     -- vdmdbg.h:55
  30.     VDMCONTEXT_FLOATING_POINT  : constant := 16#10008#;     -- vdmdbg.h:56
  31.     VDMCONTEXT_DEBUG_REGISTERS : constant := 16#10010#;     -- vdmdbg.h:57
  32.     VDMCONTEXT_FULL            : constant := 16#10007#;     -- vdmdbg.h:59
  33.     V86FLAGS_CARRY             : constant := 16#1#;         -- vdmdbg.h:217
  34.     V86FLAGS_PARITY            : constant := 16#4#;         -- vdmdbg.h:218
  35.     V86FLAGS_AUXCARRY          : constant := 16#10#;        -- vdmdbg.h:219
  36.     V86FLAGS_ZERO              : constant := 16#40#;        -- vdmdbg.h:220
  37.     V86FLAGS_SIGN              : constant := 16#80#;        -- vdmdbg.h:221
  38.     V86FLAGS_TRACE             : constant := 16#100#;       -- vdmdbg.h:222
  39.     V86FLAGS_INTERRUPT         : constant := 16#200#;       -- vdmdbg.h:223
  40.     V86FLAGS_DIRECTION         : constant := 16#400#;       -- vdmdbg.h:224
  41.     V86FLAGS_OVERFLOW          : constant := 16#800#;       -- vdmdbg.h:225
  42.     V86FLAGS_IOPL              : constant := 16#3000#;      -- vdmdbg.h:226
  43.     V86FLAGS_IOPL_BITS         : constant := 16#12#;        -- vdmdbg.h:227
  44.     V86FLAGS_RESUME            : constant := 16#10000#;     -- vdmdbg.h:228
  45.     V86FLAGS_V86               : constant := 16#20000#;     -- vdmdbg.h:229
  46.     V86FLAGS_ALIGNMENT         : constant := 16#40000#;     -- vdmdbg.h:230
  47.     MAX_MODULE_NAME            : constant := 9;             -- vdmdbg.h:232
  48.     MAX_PATH16                 : constant := 255;           -- vdmdbg.h:233
  49.     GLOBAL_ALL                 : constant := 0;             -- vdmdbg.h:262
  50.     GLOBAL_LRU                 : constant := 1;             -- vdmdbg.h:263
  51.     GLOBAL_FREE                : constant := 2;             -- vdmdbg.h:264
  52.     GT_UNKNOWN                 : constant := 0;             -- vdmdbg.h:267
  53.     GT_DGROUP                  : constant := 1;             -- vdmdbg.h:268
  54.     GT_DATA                    : constant := 2;             -- vdmdbg.h:269
  55.     GT_CODE                    : constant := 3;             -- vdmdbg.h:270
  56.     GT_TASK                    : constant := 4;             -- vdmdbg.h:271
  57.     GT_RESOURCE                : constant := 5;             -- vdmdbg.h:272
  58.     GT_MODULE                  : constant := 6;             -- vdmdbg.h:273
  59.     GT_FREE                    : constant := 7;             -- vdmdbg.h:274
  60.     GT_INTERNAL                : constant := 8;             -- vdmdbg.h:275
  61.     GT_SENTINEL                : constant := 9;             -- vdmdbg.h:276
  62.     GT_BURGERMASTER            : constant := 10;            -- vdmdbg.h:277
  63.     GD_USERDEFINED             : constant := 0;             -- vdmdbg.h:280
  64.     GD_CURSORCOMPONENT         : constant := 1;             -- vdmdbg.h:281
  65.     GD_BITMAP                  : constant := 2;             -- vdmdbg.h:282
  66.     GD_ICONCOMPONENT           : constant := 3;             -- vdmdbg.h:283
  67.     GD_MENU                    : constant := 4;             -- vdmdbg.h:284
  68.     GD_DIALOG                  : constant := 5;             -- vdmdbg.h:285
  69.     GD_STRING                  : constant := 6;             -- vdmdbg.h:286
  70.     GD_FONTDIR                 : constant := 7;             -- vdmdbg.h:287
  71.     GD_FONT                    : constant := 8;             -- vdmdbg.h:288
  72.     GD_ACCELERATORS            : constant := 9;             -- vdmdbg.h:289
  73.     GD_RCDATA                  : constant := 10;            -- vdmdbg.h:290
  74.     GD_ERRTABLE                : constant := 11;            -- vdmdbg.h:291
  75.     GD_CURSOR                  : constant := 12;            -- vdmdbg.h:292
  76.     GD_ICON                    : constant := 14;            -- vdmdbg.h:293
  77.     GD_NAMETABLE               : constant := 15;            -- vdmdbg.h:294
  78.     GD_MAX_RESOURCE            : constant := 15;            -- vdmdbg.h:295
  79.     WOW_SYSTEM                 : constant DWORD := 16#1#;   -- vdmdbg.h:433
  80.  
  81.     type SEGMENT_NOTE;                                      -- vdmdbg.h:235
  82.     type IMAGE_NOTE;                                        -- vdmdbg.h:245
  83.     type MODULEENTRY;                                       -- vdmdbg.h:259
  84.     type GLOBALENTRY;                                       -- vdmdbg.h:311
  85.  
  86.     subtype VDMCONTEXT is Win32.Winnt.CONTEXT;              -- vdmdbg.h:67
  87.     subtype VDMLDT_ENTRY is Win32.Winnt.LDT_ENTRY;          -- vdmdbg.h:68
  88.  
  89.     type LPVDMCONTEXT is access all VDMCONTEXT;             -- vdmdbg.h:208
  90.     type LPVDMLDT_ENTRY is access all VDMLDT_ENTRY;         -- vdmdbg.h:209
  91.     type LPMODULEENTRY is access all MODULEENTRY;           -- vdmdbg.h:259
  92.     type LPGLOBALENTRY is access all GLOBALENTRY;           -- vdmdbg.h:311
  93.  
  94.     type SEGMENT_NOTE is                                    -- vdmdbg.h:235
  95.         record
  96.             Selector1: Win32.WORD;                          -- vdmdbg.h:236
  97.             Selector2: Win32.WORD;                          -- vdmdbg.h:237
  98.             Segment  : Win32.WORD;                          -- vdmdbg.h:238
  99.             Module   : Win32.CHAR_Array(0..MAX_MODULE_NAME);-- vdmdbg.h:239
  100.             FileName : Win32.CHAR_Array(0..MAX_PATH16);     -- vdmdbg.h:240
  101.             c_Type   : Win32.WORD;                          -- vdmdbg.h:241
  102.             Length   : Win32.DWORD;                         -- vdmdbg.h:242
  103.         end record;
  104.  
  105.     type IMAGE_NOTE is                                      -- vdmdbg.h:245
  106.         record
  107.             Module  : Win32.CHAR_Array(0..MAX_MODULE_NAME); -- vdmdbg.h:246
  108.             FileName: Win32.CHAR_Array(0..MAX_PATH16);      -- vdmdbg.h:247
  109.             hModule : Win32.WORD;                           -- vdmdbg.h:248
  110.             hTask   : Win32.WORD;                           -- vdmdbg.h:249
  111.         end record;
  112.  
  113.     type MODULEENTRY is                                     -- vdmdbg.h:259
  114.         record
  115.             dwSize   : Win32.DWORD;                         -- vdmdbg.h:253
  116.             szModule : Win32.CHAR_Array(0..MAX_MODULE_NAME);-- vdmdbg.h:254
  117.             hModule  : Win32.Winnt.HANDLE;                  -- vdmdbg.h:255
  118.             wcUsage  : Win32.WORD;                          -- vdmdbg.h:256
  119.             szExePath: Win32.CHAR_Array(0..MAX_PATH16);     -- vdmdbg.h:257
  120.             wNext    : Win32.WORD;                          -- vdmdbg.h:258
  121.         end record;
  122.  
  123.     type GLOBALENTRY is                                     -- vdmdbg.h:311
  124.         record
  125.             dwSize      : Win32.DWORD;                      -- vdmdbg.h:298
  126.             dwAddress   : Win32.DWORD;                      -- vdmdbg.h:299
  127.             dwBlockSize : Win32.DWORD;                      -- vdmdbg.h:300
  128.             hBlock      : Win32.Winnt.HANDLE;               -- vdmdbg.h:301
  129.             wcLock      : Win32.WORD;                       -- vdmdbg.h:302
  130.             wcPageLock  : Win32.WORD;                       -- vdmdbg.h:303
  131.             wFlags      : Win32.WORD;                       -- vdmdbg.h:304
  132.             wHeapPresent: Win32.BOOL;                       -- vdmdbg.h:305
  133.             hOwner      : Win32.Winnt.HANDLE;               -- vdmdbg.h:306
  134.             wType       : Win32.WORD;                       -- vdmdbg.h:307
  135.             wData       : Win32.WORD;                       -- vdmdbg.h:308
  136.             dwNext      : Win32.DWORD;                      -- vdmdbg.h:309
  137.             dwNextAlt   : Win32.DWORD;                      -- vdmdbg.h:310
  138.         end record;
  139.  
  140.     type DEBUGEVENTPROC is access function (
  141.                 p1: Win32.Winbase.LPDEBUG_EVENT;
  142.                 p2: Win32.LPVOID)
  143.                return Win32.DWORD;                          -- vdmdbg.h:313
  144.     pragma Convention(Stdcall, DEBUGEVENTPROC);
  145.     type PROCESSENUMPROC is access function (     
  146.                 dwProcessId  : Win32.DWORD;     
  147.                 dwAttributes : Win32.DWORD;     
  148.                 lpUserDefined: Win32.LPARAM)     
  149.                return Win32.BOOL;                           -- vdmdbg.h:430
  150.     pragma Convention(Stdcall, PROCESSENUMPROC);
  151.     type TASKENUMPROC is access function (     
  152.                 dwThreadId   : Win32.DWORD;     
  153.                 hMod16       : Win32.WORD;     
  154.                 hTask16      : Win32.WORD;     
  155.                 lpUserDefined: Win32.LPARAM)     
  156.                return Win32.BOOL;                           -- vdmdbg.h:431
  157.     pragma Convention(Stdcall, TASKENUMPROC);
  158.      
  159.     function VDMProcessException(     
  160.                 lpDebugEvent: Win32.Winbase.LPDEBUG_EVENT)     
  161.                return Win32.BOOL;                           -- vdmdbg.h:328
  162.  
  163.     function VDMGetThreadSelectorEntry(
  164.                 hProcess       : Win32.Winnt.HANDLE;
  165.                 hThread        : Win32.Winnt.HANDLE;
  166.                 wSelector      : Win32.WORD;
  167.                 lpSelectorEntry: LPVDMLDT_ENTRY)
  168.                return Win32.BOOL;                           -- vdmdbg.h:334
  169.      
  170.     function VDMGetPointer(     
  171.                 hProcess : Win32.Winnt.HANDLE;     
  172.                 hThread  : Win32.Winnt.HANDLE;     
  173.                 wSelector: Win32.WORD;     
  174.                 dwOffset : Win32.DWORD;     
  175.                 fProtMode: Win32.BOOL)     
  176.                return Win32.ULONG;                          -- vdmdbg.h:343
  177.      
  178.     function VDMGetThreadContext(     
  179.                 lpDebugEvent: Win32.Winbase.LPDEBUG_EVENT;     
  180.                 lpVDMContext: Win32.Vdmdbg.LPVDMCONTEXT)     
  181.                return Win32.BOOL;                           -- vdmdbg.h:353
  182.      
  183.     function VDMSetThreadContext(     
  184.                 lpDebugEvent: Win32.Winbase.LPDEBUG_EVENT;     
  185.                 lpVDMContext: Win32.Vdmdbg.LPVDMCONTEXT)     
  186.                return Win32.BOOL;                           -- vdmdbg.h:360
  187.      
  188.     function VDMGetSelectorModule(     
  189.                 hProcess       : Win32.Winnt.HANDLE;     
  190.                 hThread        : Win32.Winnt.HANDLE;     
  191.                 wSelector      : Win32.WORD;     
  192.                 lpSegmentNumber: Win32.PUINT;     
  193.                 lpModuleName   : Win32.LPSTR;     
  194.                 nNameSize      : Win32.UINT;     
  195.                 lpModulePath   : Win32.LPSTR;     
  196.                 nPathSize      : Win32.UINT)     
  197.                return Win32.BOOL;                           -- vdmdbg.h:367
  198.      
  199.     function VDMGetModuleSelector(     
  200.                 hProcess      : Win32.Winnt.HANDLE;     
  201.                 hThread       : Win32.Winnt.HANDLE;     
  202.                 wSegmentNumber: Win32.UINT;     
  203.                 lpModuleName  : Win32.LPSTR;     
  204.                 lpSelector    : Win32.LPWORD)     
  205.                return Win32.BOOL;                           -- vdmdbg.h:380
  206.  
  207.     function VDMModuleFirst(
  208.                 hProcess     : Win32.Winnt.HANDLE;
  209.                 hThread      : Win32.Winnt.HANDLE;
  210.                 lpModuleEntry: Win32.Vdmdbg.LPMODULEENTRY;
  211.                 lpEventProc  : DEBUGEVENTPROC;
  212.                 lpData       : Win32.LPVOID)
  213.                return Win32.BOOL;                           -- vdmdbg.h:390
  214.      
  215.     function VDMModuleNext(     
  216.                 hProcess     : Win32.Winnt.HANDLE;     
  217.                 hThread      : Win32.Winnt.HANDLE;     
  218.                 lpModuleEntry: Win32.Vdmdbg.LPMODULEENTRY;     
  219.                 lpEventProc  : DEBUGEVENTPROC;     
  220.                 lpData       : Win32.LPVOID)     
  221.                return Win32.BOOL;                           -- vdmdbg.h:400
  222.      
  223.     function VDMGlobalFirst(     
  224.                 hProcess     : Win32.Winnt.HANDLE;     
  225.                 hThread      : Win32.Winnt.HANDLE;     
  226.                 lpGlobalEntry: Win32.Vdmdbg.LPGLOBALENTRY;     
  227.                 wFlags       : Win32.WORD;     
  228.                 lpEventProc  : DEBUGEVENTPROC;     
  229.                 lpData       : Win32.LPVOID)     
  230.                return Win32.BOOL;                           -- vdmdbg.h:410
  231.      
  232.     function VDMGlobalNext(     
  233.                 hProcess     : Win32.Winnt.HANDLE;     
  234.                 hThread      : Win32.Winnt.HANDLE;     
  235.                 lpGlobalEntry: Win32.Vdmdbg.LPGLOBALENTRY;     
  236.                 wFlags       : Win32.WORD;     
  237.                 lpEventProc  : DEBUGEVENTPROC;     
  238.                 lpData       : Win32.LPVOID)     
  239.                return Win32.BOOL;                           -- vdmdbg.h:421
  240.      
  241.     function VDMEnumProcessWOW(     
  242.                 fp    : PROCESSENUMPROC;     
  243.                 lparam: Win32.LPARAM)     
  244.                return Win32.INT;                            -- vdmdbg.h:437
  245.      
  246.     function VDMEnumTaskWOW(     
  247.                 dwProcessId: Win32.DWORD;     
  248.                 fp         : TASKENUMPROC;     
  249.                 lparam     : Win32.LPARAM)     
  250.                return Win32.INT;                            -- vdmdbg.h:444
  251.      
  252.     function VDMKillWOW return Win32.BOOL;                  -- vdmdbg.h:452
  253.      
  254.     function VDMDetectWOW return Win32.BOOL;                -- vdmdbg.h:458
  255.      
  256.     function VDMBreakThread(     
  257.                 hProcess: Win32.Winnt.HANDLE;     
  258.                 hThread : Win32.Winnt.HANDLE)     
  259.                return Win32.BOOL;                           -- vdmdbg.h:464
  260.  
  261. private
  262.  
  263.     pragma Convention(C, SEGMENT_NOTE);                     -- vdmdbg.h:235
  264.     pragma Convention(C, IMAGE_NOTE);                       -- vdmdbg.h:245
  265.     pragma Convention(C, MODULEENTRY);                      -- vdmdbg.h:259
  266.     pragma Convention(C, GLOBALENTRY);                      -- vdmdbg.h:311
  267.  
  268.     pragma Import(Stdcall, VDMProcessException, "VDMProcessException");
  269.                                                             -- vdmdbg.h:328
  270.     pragma Import(Stdcall, VDMGetThreadSelectorEntry, "VDMGetThreadSelectorEntry");
  271.                                                             -- vdmdbg.h:334
  272.     pragma Import(Stdcall, VDMGetPointer, "VDMGetPointer");       -- vdmdbg.h:343
  273.     pragma Import(Stdcall, VDMGetThreadContext, "VDMGetThreadContext");
  274.                                                             -- vdmdbg.h:353
  275.     pragma Import(Stdcall, VDMSetThreadContext, "VDMSetThreadContext");
  276.                                                             -- vdmdbg.h:360
  277.     pragma Import(Stdcall, VDMGetSelectorModule, "VDMGetSelectorModule");
  278.                                                             -- vdmdbg.h:367
  279.     pragma Import(Stdcall, VDMGetModuleSelector, "VDMGetModuleSelector");
  280.                                                             -- vdmdbg.h:380
  281.     pragma Import(Stdcall, VDMModuleFirst, "VDMModuleFirst");     -- vdmdbg.h:390
  282.     pragma Import(Stdcall, VDMModuleNext, "VDMModuleNext");       -- vdmdbg.h:400
  283.     pragma Import(Stdcall, VDMGlobalFirst, "VDMGlobalFirst");     -- vdmdbg.h:410
  284.     pragma Import(Stdcall, VDMGlobalNext, "VDMGlobalNext");       -- vdmdbg.h:421
  285.     pragma Import(Stdcall, VDMEnumProcessWOW, "VDMEnumProcessWOW");
  286.                                                             -- vdmdbg.h:437
  287.     pragma Import(Stdcall, VDMEnumTaskWOW, "VDMEnumTaskWOW");     -- vdmdbg.h:444
  288.     pragma Import(Stdcall, VDMKillWOW, "VDMKillWOW");             -- vdmdbg.h:452
  289.     pragma Import(Stdcall, VDMDetectWOW, "VDMDetectWOW");         -- vdmdbg.h:458
  290.     pragma Import(Stdcall, VDMBreakThread, "VDMBreakThread");     -- vdmdbg.h:464
  291.  
  292. -------------------------------------------------------------------------------
  293. --
  294. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS PROVIDED WITHOUT CHARGE
  295. -- "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
  296. -- BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR
  297. -- FITNESS FOR A PARTICULAR PURPOSE.  The user assumes the entire risk as to
  298. -- the accuracy and the use of this file.  This file may be used, copied,
  299. -- modified and distributed only by licensees of Microsoft Corporation's
  300. -- WIN32 Software Development Kit in accordance with the terms of the 
  301. -- licensee's End-User License Agreement for Microsoft Software for the
  302. -- WIN32 Development Kit.
  303. --
  304. -- Copyright (c) Intermetrics, Inc. 1995
  305. -- Portions (c) 1985-1994 Microsoft Corporation with permission.
  306. -- Microsoft is a registered trademark and Windows and Windows NT are
  307. -- trademarks of Microsoft Corporation.
  308. --
  309. -------------------------------------------------------------------------------
  310.  
  311. end Win32.Vdmdbg;
  312.