home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sibdemo3.zip / SOURCE.DAT / SOURCE / WIN32 / WINBASE.PAS < prev    next >
Pascal/Delphi Source File  |  1998-05-14  |  200KB  |  3,436 lines

  1. UNIT WinBase;
  2.  
  3. {****************************************************************************
  4.  *                                                                          *
  5.  * Win32 KERNEL32 Imports definition file                                   *
  6.  *                                                                          *
  7.  ****************************************************************************}
  8.  
  9.  
  10. INTERFACE
  11.  
  12. USES WinNT,WinDef;
  13.  
  14.  
  15.  
  16. CONST
  17.      INVALID_HANDLE_VALUE        = -1;
  18.      INVALID_FILE_SIZE           =$FFFFFFFF;
  19.  
  20.      FILE_BEGIN                  =0;
  21.      FILE_CURRENT                =1;
  22.      FILE_END                    =2;
  23.  
  24.      TIME_ZONE_ID_INVALID        =$FFFFFFFF;
  25.      WAIT_FAILED                 =$FFFFFFFF;
  26.      WAIT_OBJECT_0               =STATUS_WAIT_0;
  27.      WAIT_ABANDONED              =STATUS_ABANDONED_WAIT_0;
  28.      WAIT_ABANDONED_0            =STATUS_ABANDONED_WAIT_0;
  29.      WAIT_TIMEOUT                =STATUS_TIMEOUT;
  30.      WAIT_IO_COMPLETION          =STATUS_USER_APC;
  31.      STILL_ACTIVE                =STATUS_PENDING;
  32.  
  33.      {Exception constants}
  34.      EXCEPTION_ACCESS_VIOLATION     =STATUS_ACCESS_VIOLATION;
  35.      EXCEPTION_DATATYPE_MISALIGNMENT=STATUS_DATATYPE_MISALIGNMENT;
  36.      EXCEPTION_BREAKPOINT           =STATUS_BREAKPOINT;
  37.      EXCEPTION_SINGLE_STEP          =STATUS_SINGLE_STEP;
  38.      EXCEPTION_ARRAY_BOUNDS_EXCEEDED=STATUS_ARRAY_BOUNDS_EXCEEDED;
  39.      EXCEPTION_FLT_DENORMAL_OPERAND =STATUS_FLOAT_DENORMAL_OPERAND;
  40.      EXCEPTION_FLT_DIVIDE_BY_ZERO   =STATUS_FLOAT_DIVIDE_BY_ZERO;
  41.      EXCEPTION_FLT_INEXACT_RESULT   =STATUS_FLOAT_INEXACT_RESULT;
  42.      EXCEPTION_FLT_INVALID_OPERATION=STATUS_FLOAT_INVALID_OPERATION;
  43.      EXCEPTION_FLT_OVERFLOW         =STATUS_FLOAT_OVERFLOW;
  44.      EXCEPTION_FLT_STACK_CHECK      =STATUS_FLOAT_STACK_CHECK;
  45.      EXCEPTION_FLT_UNDERFLOW        =STATUS_FLOAT_UNDERFLOW;
  46.      EXCEPTION_INT_DIVIDE_BY_ZERO   =STATUS_INTEGER_DIVIDE_BY_ZERO;
  47.      EXCEPTION_INT_OVERFLOW         =STATUS_INTEGER_OVERFLOW;
  48.      EXCEPTION_PRIV_INSTRUCTION     =STATUS_PRIVILEGED_INSTRUCTION;
  49.      EXCEPTION_IN_PAGE_ERROR        =STATUS_IN_PAGE_ERROR;
  50.      EXCEPTION_ILLEGAL_INSTRUCTION  =STATUS_ILLEGAL_INSTRUCTION;
  51.      EXCEPTION_NONCONTINUABLE_EXCEPTION=STATUS_NONCONTINUABLE_EXCEPTION;
  52.      EXCEPTION_STACK_OVERFLOW       =STATUS_STACK_OVERFLOW;
  53.      EXCEPTION_INVALID_DISPOSITION  =STATUS_INVALID_DISPOSITION;
  54.      EXCEPTION_GUARD_PAGE           =STATUS_GUARD_PAGE_VIOLATION;
  55.      CONTROL_C_EXIT                 =STATUS_CONTROL_C_EXIT;
  56.  
  57. CONST
  58.      FILE_FLAG_WRITE_THROUGH         =$80000000;
  59.      FILE_FLAG_OVERLAPPED            =$40000000;
  60.      FILE_FLAG_NO_BUFFERING          =$20000000;
  61.      FILE_FLAG_RANDOM_ACCESS         =$10000000;
  62.      FILE_FLAG_SEQUENTIAL_SCAN       =$08000000;
  63.      FILE_FLAG_DELETE_ON_CLOSE       =$04000000;
  64.      FILE_FLAG_BACKUP_SEMANTICS      =$02000000;
  65.      FILE_FLAG_POSIX_SEMANTICS       =$01000000;
  66.  
  67. CONST
  68.      CREATE_NEW           =1;
  69.      CREATE_ALWAYS        =2;
  70.      OPEN_EXISTING        =3;
  71.      OPEN_ALWAYS          =4;
  72.      TRUNCATE_EXISTING    =5;
  73.  
  74.  
  75.  
  76. {dwOpenMode values for CreateNamedPipe}
  77. CONST
  78.      PIPE_ACCESS_INBOUND         =$00000001;
  79.      PIPE_ACCESS_OUTBOUND        =$00000002;
  80.      PIPE_ACCESS_DUPLEX          =$00000003;
  81.  
  82. {Named Pipe End flags for GetNamedPipeInfo}
  83. CONST
  84.      PIPE_CLIENT_END             =$00000000;
  85.      PIPE_SERVER_END             =$00000001;
  86.  
  87. {dwPipeMode values for CreateNamedPipe}
  88. CONST
  89.      PIPE_WAIT                   =$00000000;
  90.      PIPE_NOWAIT                 =$00000001;
  91.      PIPE_READMODE_BYTE          =$00000000;
  92.      PIPE_READMODE_MESSAGE       =$00000002;
  93.      PIPE_TYPE_BYTE              =$00000000;
  94.      PIPE_TYPE_MESSAGE           =$00000004;
  95.  
  96. {CreateNamedPipe nMaxInstances}
  97. CONST
  98.      PIPE_UNLIMITED_INSTANCES    =255;
  99.  
  100. {Bits for CreateFile}
  101. CONST
  102.      SECURITY_CONTEXT_TRACKING   =$00040000;
  103.      SECURITY_EFFECTIVE_ONLY     =$00080000;
  104.  
  105.      SECURITY_SQOS_PRESENT       =$00100000;
  106.      SECURITY_VALID_SQOS_FLAGS   =$001F0000;
  107.  
  108.  
  109. {File structures}
  110. TYPE
  111.     POVERLAPPED=^OVERLAPPED;
  112.     OVERLAPPED=RECORD
  113.                      Internal:LONGWORD;
  114.                      InternalHigh:LONGWORD;
  115.                      Offset:LONGWORD;
  116.                      OffsetHigh:LONGWORD;
  117.                      hEvent:HANDLE;
  118.     END;
  119.  
  120.     PSECURITY_ATTRIBUTES=^SECURITY_ATTRIBUTES;
  121.     SECURITY_ATTRIBUTES=RECORD
  122.                               nLength:LONGWORD;
  123.                               lpSecurityDescriptor:POINTER;
  124.                               bInheritHandle:BOOL;
  125.                         END;
  126.  
  127.     PPROCESS_INFORMATION=^PROCESS_INFORMATION;
  128.     PROCESS_INFORMATION=RECORD
  129.                               hProcess:HANDLE;
  130.                               hThread:HANDLE;
  131.                               dwProcessId:LONGWORD;
  132.                               dwThreadId:LONGWORD;
  133.     END;
  134.  
  135.     PFILETIME=^FILETIME;
  136.     FILETIME=RECORD
  137.                    dwLowDateTime:LONGWORD;
  138.                    dwHighDateTime:LONGWORD;
  139.     END;
  140.  
  141.     PSYSTEMTIME=^SYSTEMTIME;
  142.     SYSTEMTIME=RECORD
  143.                      wYear:WORD;
  144.                      wMonth:WORD;
  145.                      wDayOfWeek:WORD;
  146.                      wDay:WORD;
  147.                      wHour:WORD;
  148.                      wMinute:WORD;
  149.                      wSecond:WORD;
  150.                      wMilliseconds:WORD;
  151.      END;
  152.  
  153.      {Thread start proc}
  154.      LPTHREAD_START_ROUTINE=FUNCTION(lpThreadParameter:POINTER):ULONG;
  155.  
  156.  
  157. CONST
  158.      SP_SERIALCOMM    =$00000001;
  159.  
  160.      PST_UNSPECIFIED  =$00000000;
  161.      PST_RS232        =$00000001;
  162.      PST_PARALLELPORT =$00000002;
  163.      PST_RS422        =$00000003;
  164.      PST_RS423        =$00000004;
  165.      PST_RS449        =$00000005;
  166.      PST_MODEM        =$00000006;
  167.      PST_FAX          =$00000021;
  168.      PST_SCANNER      =$00000022;
  169.      PST_NETWORK_BRIDGE=$00000100;
  170.      PST_LAT          =$00000101;
  171.      PST_TCPIP_TELNET =$00000102;
  172.      PST_X25          =$00000103;
  173.  
  174.      PCF_DTRDSR       =$0001;
  175.      PCF_RTSCTS       =$0002;
  176.      PCF_RLSD         =$0004;
  177.      PCF_PARITY_CHECK =$0008;
  178.      PCF_XONXOFF      =$0010;
  179.      PCF_SETXCHAR     =$0020;
  180.      PCF_TOTALTIMEOUTS=$0040;
  181.      PCF_INTTIMEOUTS  =$0080;
  182.      PCF_SPECIALCHARS =$0100;
  183.      PCF_16BITMODE    =$0200;
  184.  
  185.      SP_PARITY        =$0001;
  186.      SP_BAUD          =$0002;
  187.      SP_DATABITS      =$0004;
  188.      SP_STOPBITS      =$0008;
  189.      SP_HANDSHAKING   =$0010;
  190.      SP_PARITY_CHECK  =$0020;
  191.      SP_RLSD          =$0040;
  192.  
  193.      BAUD_075         =$00000001;
  194.      BAUD_110         =$00000002;
  195.      BAUD_134_5       =$00000004;
  196.      BAUD_150         =$00000008;
  197.      BAUD_300         =$00000010;
  198.      BAUD_600         =$00000020;
  199.      BAUD_1200        =$00000040;
  200.      BAUD_1800        =$00000080;
  201.      BAUD_2400        =$00000100;
  202.      BAUD_4800        =$00000200;
  203.      BAUD_7200        =$00000400;
  204.      BAUD_9600        =$00000800;
  205.      BAUD_14400       =$00001000;
  206.      BAUD_19200       =$00002000;
  207.      BAUD_38400       =$00004000;
  208.      BAUD_56K         =$00008000;
  209.      BAUD_128K        =$00010000;
  210.      BAUD_115200      =$00020000;
  211.      BAUD_57600       =$00040000;
  212.      BAUD_USER        =$10000000;
  213.  
  214.      DATABITS_5       =$0001;
  215.      DATABITS_6       =$0002;
  216.      DATABITS_7       =$0004;
  217.      DATABITS_8       =$0008;
  218.      DATABITS_16      =$0010;
  219.      DATABITS_16X     =$0020;
  220.  
  221.      STOPBITS_10      =$0001;
  222.      STOPBITS_15      =$0002;
  223.      STOPBITS_20      =$0004;
  224.      PARITY_NONE      =$0100;
  225.      PARITY_ODD       =$0200;
  226.      PARITY_EVEN      =$0400;
  227.      PARITY_MARK      =$0800;
  228.      PARITY_SPACE     =$1000;
  229.  
  230. TYPE
  231.     LPCOMMPROP=^COMMPROP;
  232.     COMMPROP=RECORD
  233.                    wPacketLength:WORD;
  234.                    wPacketVersion:WORD;
  235.                    dwServiceMask:ULONG;
  236.                    dwReserved1:ULONG;
  237.                    dwMaxTxQueue:ULONG;
  238.                    dwMaxRxQueue:ULONG;
  239.                    dwMaxBaud:ULONG;
  240.                    dwProvSubType:ULONG;
  241.                    dwProvCapabilities:ULONG;
  242.                    dwSettableParams:ULONG;
  243.                    dwSettableBaud:ULONG;
  244.                    wSettableData:WORD;
  245.                    wSettableStopParity:WORD;
  246.                    dwCurrentTxQueue:ULONG;
  247.                    dwCurrentRxQueue:ULONG;
  248.                    dwProvSpec1:ULONG;
  249.                    dwProvSpec2:ULONG;
  250.                    wcProvChar:CHAR;
  251.     END;
  252.  
  253. CONST
  254.      COMMPROP_INITIALIZED =$E73CF52E;
  255.  
  256. CONST
  257.      DTR_CONTROL_DISABLE    =$00;
  258.      DTR_CONTROL_ENABLE     =$01;
  259.      DTR_CONTROL_HANDSHAKE  =$02;
  260.  
  261.      RTS_CONTROL_DISABLE    =$00;
  262.      RTS_CONTROL_ENABLE     =$01;
  263.      RTS_CONTROL_HANDSHAKE  =$02;
  264.      RTS_CONTROL_TOGGLE     =$03;
  265.  
  266. TYPE
  267.     LPCOMMRTIMEOUTS=^COMMTIMEOUTS;
  268.     COMMTIMEOUTS=RECORD
  269.                        ReadIntervalTimeout:ULONG;
  270.                        ReadTotalTimeoutMultiplier:ULONG;
  271.                        ReadTotalTimeoutConstant:ULONG;
  272.                        WriteTotalTimeoutMultiplier:ULONG;
  273.                        WriteTotalTimeoutConstant:ULONG;
  274.     END;
  275.  
  276.  
  277. TYPE
  278.     LPSYSTEM_INFO=^SYSTEM_INFO;
  279.     SYSTEM_INFO=RECORD
  280.                       dwOemId:ULONG;
  281.                       dwPageSize:ULONG;
  282.                       lpMinimumApplicationAddress:POINTER;
  283.                       lpMaximumApplicationAddress:POINTER;
  284.                       dwActiveProcessorMask:ULONG;
  285.                       dwNumberOfProcessors:ULONG;
  286.                       dwProcessorType:ULONG;
  287.                       dwAllocationGranularity:ULONG;
  288.                       dwReserved:ULONG;
  289.      END;
  290.  
  291. CONST
  292.      {Memory Flags}
  293.      GMEM_FIXED          =$0000;
  294.      GMEM_MOVEABLE       =$0002;
  295.      GMEM_NOCOMPACT      =$0010;
  296.      GMEM_NODISCARD      =$0020;
  297.      GMEM_ZEROINIT       =$0040;
  298.      GMEM_MODIFY         =$0080;
  299.      GMEM_DISCARDABLE    =$0100;
  300.      GMEM_NOT_BANKED     =$1000;
  301.      GMEM_SHARE          =$2000;
  302.      GMEM_DDESHARE       =$2000;
  303.      GMEM_NOTIFY         =$4000;
  304.      GMEM_LOWER          =GMEM_NOT_BANKED;
  305.      GMEM_VALID_FLAGS    =$7F72;
  306.      GMEM_INVALID_HANDLE =$8000;
  307.      GHND                =GMEM_MOVEABLE OR GMEM_ZEROINIT;
  308.      GPTR                =GMEM_FIXED OR GMEM_ZEROINIT;
  309.  
  310.      {GlobalFlags return values}
  311.      GMEM_DISCARDED      =$4000;
  312.      GMEM_LOCKCOUNT      =$00FF;
  313.  
  314. TYPE
  315.     LPMEMORYTSTATUS=^MEMORYSTATUS;
  316.     MEMORYSTATUS=RECORD
  317.                        dwLength:ULONG;
  318.                        dwMemoryLoad:ULONG;
  319.                        dwTotalPhys:ULONG;
  320.                        dwAvailPhys:ULONG;
  321.                        dwTotalPageFile:ULONG;
  322.                        dwAvailPageFile:ULONG;
  323.                        dwTotalVirtual:ULONG;
  324.                        dwAvailVirtual:ULONG;
  325.     END;
  326.  
  327. CONST
  328.     {Local Memory Flags}
  329.     LMEM_FIXED          =$0000;
  330.     LMEM_MOVEABLE       =$0002;
  331.     LMEM_NOCOMPACT      =$0010;
  332.     LMEM_NODISCARD      =$0020;
  333.     LMEM_ZEROINIT       =$0040;
  334.     LMEM_MODIFY         =$0080;
  335.     LMEM_DISCARDABLE    =$0F00;
  336.     LMEM_VALID_FLAGS    =$0F72;
  337.     LMEM_INVALID_HANDLE =$8000;
  338.     LHND                =LMEM_MOVEABLE OR LMEM_ZEROINIT;
  339.     LPTR                =LMEM_FIXED OR LMEM_ZEROINIT;
  340.     NONZEROLHND         =LMEM_MOVEABLE;
  341.     NONZEROLPTR         =LMEM_FIXED;
  342.  
  343.     {LocalFlags return values}
  344.     LMEM_DISCARDED      =$4000;
  345.     LMEM_LOCKCOUNT      =$00FF;
  346.  
  347.  
  348.     {Process creation flags}
  349.     DEBUG_PROCESS               =$00000001;
  350.     DEBUG_ONLY_THIS_PROCESS     =$00000002;
  351.     CREATE_SUSPENDED            =$00000004;
  352.     DETACHED_PROCESS            =$00000008;
  353.     CREATE_NEW_CONSOLE          =$00000010;
  354.     NORMAL_PRIORITY_CLASS       =$00000020;
  355.     IDLE_PRIORITY_CLASS         =$00000040;
  356.     HIGH_PRIORITY_CLASS         =$00000080;
  357.     REALTIME_PRIORITY_CLASS     =$00000100;
  358.     CREATE_NEW_PROCESS_GROUP    =$00000200;
  359.     CREATE_UNICODE_ENVIRONMENT  =$00000400;
  360.     CREATE_SEPARATE_WOW_VDM     =$00000800;
  361.     CREATE_DEFAULT_ERROR_MODE   =$04000000;
  362.     CREATE_NO_WINDOW            =$08000000;
  363.     PROFILE_USER                =$10000000;
  364.     PROFILE_KERNEL              =$20000000;
  365.     PROFILE_SERVER              =$40000000;
  366.  
  367.     {Thread priority constants}
  368.     THREAD_PRIORITY_LOWEST      =THREAD_BASE_PRIORITY_MIN;
  369.     THREAD_PRIORITY_BELOW_NORMAL=THREAD_PRIORITY_LOWEST+1;
  370.     THREAD_PRIORITY_NORMAL      =0;
  371.     THREAD_PRIORITY_HIGHEST     =THREAD_BASE_PRIORITY_MAX;
  372.     THREAD_PRIORITY_ABOVE_NORMAL=THREAD_PRIORITY_HIGHEST-1;
  373.     THREAD_PRIORITY_ERROR_RETURN=MAXLONG;
  374.     THREAD_PRIORITY_TIME_CRITICAL=THREAD_BASE_PRIORITY_LOWRT;
  375.     THREAD_PRIORITY_IDLE        =THREAD_BASE_PRIORITY_IDLE;
  376.  
  377. CONST
  378.      {Debug API}
  379.      EXCEPTION_DEBUG_EVENT       =1;
  380.      CREATE_THREAD_DEBUG_EVENT   =2;
  381.      CREATE_PROCESS_DEBUG_EVENT  =3;
  382.      EXIT_THREAD_DEBUG_EVENT     =4;
  383.      EXIT_PROCESS_DEBUG_EVENT    =5;
  384.      LOAD_DLL_DEBUG_EVENT        =6;
  385.      UNLOAD_DLL_DEBUG_EVENT      =7;
  386.      OUTPUT_DEBUG_STRING_EVENT   =8;
  387.      RIP_EVENT                   =9;
  388.  
  389. TYPE
  390.     {$IFDEF OS2}
  391.     CONST
  392.      SIZE_OF_80387_REGISTERS      = 80;
  393.  
  394. TYPE
  395.     PFLOATING_SAVE_AREA=^FLOATING_SAVE_AREA;
  396.     FLOATING_SAVE_AREA=RECORD
  397.                              ControlWord:LONGWORD;
  398.                              StatusWord:LONGWORD;
  399.                              TagWord:LONGWORD;
  400.                              ErrorOffset:LONGWORD;
  401.                              ErrorSelector:LONGWORD;
  402.                              DataOffset:LONGWORD;
  403.                              DataSelector:LONGWORD;
  404.                              RegisterArea:ARRAY[0..SIZE_OF_80387_REGISTERS-1] OF BYTE;
  405.                              Cr0NpxState:LONGWORD;
  406.     END;
  407.  
  408. TYPE
  409.     PCONTEXT=^CONTEXT;
  410.     CONTEXT=RECORD
  411.                   ContextFlags:LONGWORD;
  412.                   Dr0:LONGWORD;
  413.                   Dr1:LONGWORD;
  414.                   Dr2:LONGWORD;
  415.                   Dr3:LONGWORD;
  416.                   Dr6:LONGWORD;
  417.                   Dr7:LONGWORD;
  418.  
  419.                   FloatSave:FLOATING_SAVE_AREA;
  420.  
  421.                   SegGs:LONGWORD;
  422.                   SegFs:LONGWORD;
  423.                   SegEs:LONGWORD;
  424.                   SegDs:LONGWORD;
  425.  
  426.                   Edi:LONGWORD;
  427.                   Esi:LONGWORD;
  428.                   Ebx:LONGWORD;
  429.                   Edx:LONGWORD;
  430.                   Ecx:LONGWORD;
  431.                   Eax:LONGWORD;
  432.  
  433.                   Ebp:LONGWORD;
  434.                   Eip:LONGWORD;
  435.                   SegCs:LONGWORD;
  436.                   EFlags:LONGWORD;
  437.                   Esp:LONGWORD;
  438.                   SegSs:LONGWORD;
  439.     END;
  440.  
  441. CONST
  442.      EXCEPTION_CONTINUABLE         = 0; // Continuable exception
  443.      EXCEPTION_NONCONTINUABLE      = 1; // Noncontinuable exception
  444.      EXCEPTION_MAXIMUM_PARAMETERS  =15; // maximum number of exception parameters
  445.  
  446. TYPE
  447.     PEXCEPTION_RECORD=^EXCEPTION_RECORD;
  448.     EXCEPTION_RECORD=RECORD
  449.                            ExceptionCode:LONGWORD;
  450.                            ExceptionFlags:LONGWORD;
  451.                            ExceptionRecord:PEXCEPTION_RECORD;
  452.                            ExceptionAddress:POINTER;
  453.                            NumberParameters:LONGWORD;
  454.                            ExceptionInformation:ARRAY[0..EXCEPTION_MAXIMUM_PARAMETERS-1] OF LONGWORD;
  455.     END;
  456.  
  457. TYPE
  458.     PEXCEPTION_POINTERS=^EXCEPTION_POINTERS;
  459.     EXCEPTION_POINTERS=RECORD
  460.                              ExceptionRecord:PEXCEPTION_RECORD;
  461.                              ContextRecord:PCONTEXT;
  462.     END;
  463.     {$ENDIF}
  464.  
  465.  
  466.     {$IFDEF Win95}
  467.     LPEXCEPTION_DEBUG_INFO=^EXCEPTION_DEBUG_INFO;
  468.     EXCEPTION_DEBUG_INFO=RECORD
  469.                                ExceptionRecord:SYSTEM.EXCEPTION_RECORD;
  470.                                dwFirstChance:ULONG;
  471.     END;
  472.     {$ENDIF}
  473.     {$IFDEF OS2}
  474.     LPEXCEPTION_DEBUG_INFO=^EXCEPTION_DEBUG_INFO;
  475.     EXCEPTION_DEBUG_INFO=RECORD
  476.                                ExceptionRecord:EXCEPTION_RECORD;
  477.                                dwFirstChance:ULONG;
  478.     END;
  479.     {$ENDIF}
  480.  
  481.     LPCREATE_THREAD_DEBUG_INFO=^CREATE_THREAD_DEBUG_INFO;
  482.     CREATE_THREAD_DEBUG_INFO=RECORD
  483.                                    hThread:HANDLE;
  484.                                    lpThreadLocalBase:POINTER;
  485.                                    lpStartAddress:LPTHREAD_START_ROUTINE;
  486.     END;
  487.  
  488.     LPCREATE_PROCESS_DEBUG_INFO=^CREATE_PROCESS_DEBUG_INFO;
  489.     CREATE_PROCESS_DEBUG_INFO=RECORD
  490.                                     hFile:HANDLE;
  491.                                     hProcess:HANDLE;
  492.                                     hThread:HANDLE;
  493.                                     lpBaseOfImage:POINTER;
  494.                                     dwDebugInfoFileOffset:ULONG;
  495.                                     nDebugInfoSize:ULONG;
  496.                                     lpThreadLocalBase:POINTER;
  497.                                     lpStartAddress:LPTHREAD_START_ROUTINE;
  498.                                     lpImageName:POINTER;
  499.                                     fUnicode:WORD;
  500.     END;
  501.  
  502.     LPEXIT_THREAD_DEBUG_INFO=^EXIT_THREAD_DEBUG_INFO;
  503.     EXIT_THREAD_DEBUG_INFO=RECORD
  504.                                  dwExitCode:ULONG;
  505.     END;
  506.  
  507.     LPEXIT_PROCESS_DEBUG_INFO=^EXIT_PROCESS_DEBUG_INFO;
  508.     EXIT_PROCESS_DEBUG_INFO=RECORD
  509.                                   dwExitCode:ULONG;
  510.     END;
  511.  
  512.     LPLOAD_DLL_DEBUG_INFO=^LOAD_DLL_DEBUG_INFO;
  513.     LOAD_DLL_DEBUG_INFO=RECORD
  514.                               hFile:HANDLE;
  515.                               lpBaseOfDll:POINTER;
  516.                               dwDebugInfoFileOffset:ULONG;
  517.                               nDebugInfoSize:ULONG;
  518.                               lpImageName:POINTER;
  519.                               fUnicode:WORD;
  520.     END;
  521.  
  522.     LPUNLOAD_DLL_DEBUG_INFO=^UNLOAD_DLL_DEBUG_INFO;
  523.     UNLOAD_DLL_DEBUG_INFO=RECORD
  524.                                 lpBaseOfDll:POINTER;
  525.     END;
  526.  
  527.     LPOUTPUT_DEBUG_STRING_INFO=^OUTPUT_DEBUG_STRING_INFO;
  528.     OUTPUT_DEBUG_STRING_INFO=RECORD
  529.                                    lpDebugStringData:LPStr;
  530.                                    fUnicode:WORD;
  531.                                    nDebugStringLength:WORD;
  532.     END;
  533.  
  534.     LPRIP_INFO=^RIP_INFO;
  535.     RIP_INFO=RECORD
  536.                    dwError:ULONG;
  537.                    dwType:ULONG;
  538.     END;
  539.  
  540.     LPDEBUG_EVENT=^DEBUG_EVENT;
  541.     DEBUG_EVENT=RECORD
  542.                       dwDebugEventCode:ULONG;
  543.                       dwProcessId:ULONG;
  544.                       dwThreadId:ULONG;
  545.                       CASE Integer OF
  546.                         1:(Exception:EXCEPTION_DEBUG_INFO);
  547.                         2:(CreateThread:CREATE_THREAD_DEBUG_INFO);
  548.                         3:(CreateProcessInfo:CREATE_PROCESS_DEBUG_INFO);
  549.                         4:(ExitThread:EXIT_THREAD_DEBUG_INFO);
  550.                         5:(ExitProcess:EXIT_THREAD_DEBUG_INFO);
  551.                         6:(LoadDll:LOAD_DLL_DEBUG_INFO);
  552.                         7:(UnloadDll:UNLOAD_DLL_DEBUG_INFO);
  553.                         8:(DebugString:OUTPUT_DEBUG_STRING_INFO);
  554.                         9:(RipInfo:RIP_INFO);
  555.     END;
  556.  
  557. CONST
  558.      DRIVE_UNKNOWN     =0;
  559.      DRIVE_NO_ROOT_DIR =1;
  560.      DRIVE_REMOVABLE   =2;
  561.      DRIVE_FIXED       =3;
  562.      DRIVE_REMOTE      =4;
  563.      DRIVE_CDROM       =5;
  564.      DRIVE_RAMDISK     =6;
  565.  
  566.      FILE_TYPE_UNKNOWN   =$0000;
  567.      FILE_TYPE_DISK      =$0001;
  568.      FILE_TYPE_CHAR      =$0002;
  569.      FILE_TYPE_PIPE      =$0003;
  570.      FILE_TYPE_REMOTE    =$8000;
  571.  
  572. CONST
  573.      {Standard handles}
  574.      STD_INPUT_HANDLE    =-10;
  575.      STD_OUTPUT_HANDLE   =-11;
  576.      STD_ERROR_HANDLE    =-12;
  577.  
  578. CONST
  579.      NOPARITY            =0;
  580.      ODDPARITY           =1;
  581.      EVENPARITY          =2;
  582.      MARKPARITY          =3;
  583.      SPACEPARITY         =4;
  584.  
  585.      ONESTOPBIT          =0;
  586.      ONE5STOPBITS        =1;
  587.      TWOSTOPBITS         =2;
  588.  
  589.      IGNORE              =0;
  590.      INFINITE            =$FFFFFFFF;
  591.  
  592. CONST
  593.      {Baud rates}
  594.      CBR_110             =110;
  595.      CBR_300             =300;
  596.      CBR_600             =600;
  597.      CBR_1200            =1200;
  598.      CBR_2400            =2400;
  599.      CBR_4800            =4800;
  600.      CBR_9600            =9600;
  601.      CBR_14400           =14400;
  602.      CBR_19200           =19200;
  603.      CBR_38400           =38400;
  604.      CBR_56000           =56000;
  605.      CBR_57600           =57600;
  606.      CBR_115200          =115200;
  607.      CBR_128000          =128000;
  608.      CBR_256000          =256000;
  609.  
  610. CONST
  611.     {Error Flags}
  612.     CE_RXOVER            =$0001;  // Receive Queue overflow
  613.     CE_OVERRUN           =$0002;  // Receive Overrun Error
  614.     CE_RXPARITY          =$0004;  // Receive Parity Error
  615.     CE_FRAME             =$0008;  // Receive Framing error
  616.     CE_BREAK             =$0010;  // Break Detected
  617.     CE_TXFULL            =$0100;  // TX Queue is full
  618.     CE_PTO               =$0200;  // LPTx Timeout
  619.     CE_IOE               =$0400;  // LPTx I/O Error
  620.     CE_DNS               =$0800;  // LPTx Device not selected
  621.     CE_OOP               =$1000;  // LPTx Out-Of-Paper
  622.     CE_MODE              =$8000;  // Requested mode unsupported
  623.  
  624.     IE_BADID             =-1;     // Invalid or unsupported id
  625.     IE_OPEN              =-2;     // Device Already Open
  626.     IE_NOPEN             =-3;     // Device Not Open
  627.     IE_MEMORY            =-4;     // Unable to allocate queues
  628.     IE_DEFAULT           =-5;     // Error in default parameters
  629.     IE_HARDWARE          =-10;    // Hardware Not Present
  630.     IE_BYTESIZE          =-11;    // Illegal Byte Size
  631.     IE_BAUDRATE          =-12;    // Unsupported BaudRate
  632.  
  633. CONST
  634.     {Events}
  635.     EV_RXCHAR           =$0001;  // Any Character received
  636.     EV_RXFLAG           =$0002;  // Received certain character
  637.     EV_TXEMPTY          =$0004;  // Transmitt Queue Empty
  638.     EV_CTS              =$0008;  // CTS changed state
  639.     EV_DSR              =$0010;  // DSR changed state
  640.     EV_RLSD             =$0020;  // RLSD changed state
  641.     EV_BREAK            =$0040;  // BREAK received
  642.     EV_ERR              =$0080;  // Line status error occurred
  643.     EV_RING             =$0100;  // Ring signal detected
  644.     EV_PERR             =$0200;  // Printer error occured
  645.     EV_RX80FULL         =$0400;  // Receive buffer is 80 percent full
  646.     EV_EVENT1           =$0800;  // Provider specific event 1
  647.     EV_EVENT2           =$1000;  // Provider specific event 2
  648.  
  649.     {Escape Functions}
  650.     SETXOFF             =1;       // Simulate XOFF received
  651.     SETXON              =2;       // Simulate XON received
  652.     SETRTS              =3;       // Set RTS high
  653.     CLRRTS              =4;       // Set RTS low
  654.     SETDTR              =5;       // Set DTR high
  655.     CLRDTR              =6;       // Set DTR low
  656.     RESETDEV            =7;       // Reset device if possible
  657.     SETBREAK            =8;       // Set the device break line.
  658.     CLRBREAK            =9;       // Clear the device break line.
  659.  
  660.     PURGE_TXABORT       =$0001;
  661.     PURGE_RXABORT       =$0002;
  662.     PURGE_TXCLEAR       =$0004;
  663.     PURGE_RXCLEAR       =$0008;
  664.  
  665.     LPTx                =$80;    // Set if ID is for LPT device
  666.  
  667.     {Modem Status Flags}
  668.     MS_CTS_ON           =$0010;
  669.     MS_DSR_ON           =$0020;
  670.     MS_RING_ON          =$0040;
  671.     MS_RLSD_ON          =$0080;
  672.  
  673.     S_QUEUEEMPTY        =0;
  674.     S_THRESHOLD         =1;
  675.     S_ALLTHRESHOLD      =2;
  676.  
  677.     S_NORMAL      =0;
  678.     S_LEGATO      =1;
  679.     S_STACCATO    =2;
  680.  
  681.     S_PERIOD512   =0;
  682.     S_PERIOD1024  =1;
  683.     S_PERIOD2048  =2;
  684.     S_PERIODVOICE =3;
  685.     S_WHITE512    =4;
  686.     S_WHITE1024   =5;
  687.     S_WHITE2048   =6;
  688.     S_WHITEVOICE  =7;
  689.  
  690.     S_SERDVNA     =-1;  // Device not available
  691.     S_SEROFM      =-2;  // Out of memory
  692.     S_SERMACT     =-3;  // Music active
  693.     S_SERQFUL     =-4;  // Queue full
  694.     S_SERBDNT     =-5;  // Invalid note
  695.     S_SERDLN      =-6;  // Invalid note length
  696.     S_SERDCC      =-7;  // Invalid note count
  697.     S_SERDTP      =-8;  // Invalid tempo
  698.     S_SERDVL      =-9;  // Invalid volume
  699.     S_SERDMD      =-10; // Invalid mode
  700.     S_SERDSH      =-11; // Invalid shape
  701.     S_SERDPT      =-12; // Invalid pitch
  702.     S_SERDFQ      =-13; // Invalid frequency
  703.     S_SERDDR      =-14; // Invalid duration
  704.     S_SERDSR      =-15; // Invalid source
  705.     S_SERDST      =-16; // Invalid state
  706.  
  707.     NMPWAIT_WAIT_FOREVER       =$ffffffff;
  708.     NMPWAIT_NOWAIT             =$00000001;
  709.     NMPWAIT_USE_DEFAULT_WAIT   =$00000000;
  710.  
  711.     FS_CASE_IS_PRESERVED       =FILE_CASE_PRESERVED_NAMES;
  712.     FS_CASE_SENSITIVE          =FILE_CASE_SENSITIVE_SEARCH;
  713.     FS_UNICODE_STORED_ON_DISK  =FILE_UNICODE_ON_DISK;
  714.     FS_PERSISTENT_ACLS         =FILE_PERSISTENT_ACLS;
  715.     FS_VOL_IS_COMPRESSED       =FILE_VOLUME_IS_COMPRESSED;
  716.     FS_FILE_COMPRESSION        =FILE_FILE_COMPRESSION;
  717.  
  718.  
  719. CONST
  720.      {Open file flags}
  721.      OF_READ             =$00000000;
  722.      OF_WRITE            =$00000001;
  723.      OF_READWRITE        =$00000002;
  724.      OF_SHARE_COMPAT     =$00000000;
  725.      OF_SHARE_EXCLUSIVE  =$00000010;
  726.      OF_SHARE_DENY_WRITE =$00000020;
  727.      OF_SHARE_DENY_READ  =$00000030;
  728.      OF_SHARE_DENY_NONE  =$00000040;
  729.      OF_PARSE            =$00000100;
  730.      OF_DELETE           =$00000200;
  731.      OF_VERIFY           =$00000400;
  732.      OF_CANCEL           =$00000800;
  733.      OF_CREATE           =$00001000;
  734.      OF_PROMPT           =$00002000;
  735.      OF_EXIST            =$00004000;
  736.      OF_REOPEN           =$00008000;
  737.  
  738.      OFS_MAXPATHNAME     =128;
  739.  
  740. TYPE
  741.     {Open file structure}
  742.     POFSTRUCT=^OFSTRUCT;
  743.     OFSTRUCT=RECORD
  744.                    cBytes:BYTE;
  745.                    fFixedDisk:BYTE;
  746.                    nErrCode:WORD;
  747.                    Reserved1:WORD;
  748.                    Reserved2:WORD;
  749.                    szPathName:ARRAY[0..OFS_MAXPATHNAME-1] OF CHAR;
  750.     END;
  751.  
  752.     PPROCESS_HEAP_ENTRY=^PROCESS_HEAP_ENTRY;
  753.     PROCESS_HEAP_ENTRY=RECORD
  754.                              lpData:POINTER;
  755.                              cbData:ULONG;
  756.                              cbOverhead:BYTE;
  757.                              iRegionIndex:BYTE;
  758.                              wFlags:WORD;
  759.                              CASE Integer OF
  760.                                1:(Block:RECORD
  761.                                               hMem:HANDLE;
  762.                                               dwReserved:ARRAY[0..2] OF ULONG;
  763.                                         END);
  764.                                2:(Region:RECORD
  765.                                               dwCommittedSize:ULONG;
  766.                                               dwUnCommittedSize:ULONG;
  767.                                               lpFirstBlock:POINTER;
  768.                                               lpLastBlock:POINTER;
  769.                                          END);
  770.     END;
  771.     LPPROCESS_HEAP_ENTRY=PPROCESS_HEAP_ENTRY;
  772.  
  773. CONST
  774.      PROCESS_HEAP_REGION             =$0001;
  775.      PROCESS_HEAP_UNCOMMITTED_RANGE  =$0002;
  776.      PROCESS_HEAP_ENTRY_BUSY         =$0004;
  777.      PROCESS_HEAP_ENTRY_MOVEABLE     =$0010;
  778.      PROCESS_HEAP_ENTRY_DDESHARE     =$0020;
  779.  
  780. CONST
  781.      SCS_32BIT_BINARY    =0;
  782.      SCS_DOS_BINARY      =1;
  783.      SCS_WOW_BINARY      =2;
  784.      SCS_PIF_BINARY      =3;
  785.      SCS_POSIX_BINARY    =4;
  786.      SCS_OS216_BINARY    =5;
  787.  
  788. CONST
  789.      SEM_FAILCRITICALERRORS      =$0001;
  790.      SEM_NOGPFAULTERRORBOX       =$0002;
  791.      SEM_NOALIGNMENTFAULTEXCEPT  =$0004;
  792.      SEM_NOOPENFILEERRORBOX      =$8000;
  793.  
  794. CONST
  795.      LOCKFILE_FAIL_IMMEDIATELY   =$00000001;
  796.      LOCKFILE_EXCLUSIVE_LOCK     =$00000002;
  797.  
  798. TYPE
  799.     PBY_HANDLE_FILE_INFORMATION=^BY_HANDLE_FILE_INFORMATION;
  800.     BY_HANDLE_FILE_INFORMATION=RECORD
  801.                                      dwFileAttributes:ULONG;
  802.                                      ftCreationTime:FILETIME;
  803.                                      ftLastAccessTime:FILETIME;
  804.                                      ftLastWriteTime:FILETIME;
  805.                                      dwVolumeSerialNumber:ULONG;
  806.                                      nFileSizeHigh:ULONG;
  807.                                      nFileSizeLow:ULONG;
  808.                                      nNumberOfLinks:ULONG;
  809.                                      nFileIndexHigh:ULONG;
  810.                                      nFileIndexLow:ULONG;
  811.     END;
  812.     LPBY_HANDLE_FILE_INFORMATION=PBY_HANDLE_FILE_INFORMATION;
  813.  
  814. CONST
  815.      HANDLE_FLAG_INHERIT             =$00000001;
  816.      HANDLE_FLAG_PROTECT_FROM_CLOSE  =$00000002;
  817.  
  818.      HINSTANCE_ERROR                 =32;
  819.  
  820. CONST
  821.      GET_TAPE_MEDIA_INFORMATION      =0;
  822.      GET_TAPE_DRIVE_INFORMATION      =1;
  823.  
  824.      SET_TAPE_MEDIA_INFORMATION      =0;
  825.      SET_TAPE_DRIVE_INFORMATION      =1;
  826.  
  827. TYPE
  828.     PTIME_ZONE_INFORMATION=^TIME_ZONE_INFORMATION;
  829.     TIME_ZONE_INFORMATION=RECORD
  830.                                 Bias:LONG;
  831.                                 StandardName:ARRAY[0..31] OF WCHAR;
  832.                                 StandardDate:SYSTEMTIME;
  833.                                 StandardBias:LONG;
  834.                                 DaylightName:ARRAY[0..31] OF WCHAR;
  835.                                 DaylightDate:SYSTEMTIME;
  836.                                 DaylightBias:LONG;
  837.     END;
  838.     LPTIME_ZONE_INFORMATION=PTIME_ZONE_INFORMATION;
  839.  
  840. CONST
  841.      FORMAT_MESSAGE_ALLOCATE_BUFFER =$00000100;
  842.      FORMAT_MESSAGE_IGNORE_INSERTS  =$00000200;
  843.      FORMAT_MESSAGE_FROM_STRING     =$00000400;
  844.      FORMAT_MESSAGE_FROM_HMODULE    =$00000800;
  845.      FORMAT_MESSAGE_FROM_SYSTEM     =$00001000;
  846.      FORMAT_MESSAGE_ARGUMENT_ARRAY  =$00002000;
  847.      FORMAT_MESSAGE_MAX_WIDTH_MASK  =$000000FF;
  848.  
  849. CONST
  850.      TLS_OUT_OF_INDEXES             =$FFFFFFFF;
  851.  
  852. TYPE
  853.     LPWIN32_STREAM_ID=^WIN32_STREAM_ID;
  854.     WIN32_STREAM_ID=RECORD
  855.                           dwStreamId:ULONG ;
  856.                           dwStreamAttributes:ULONG ;
  857.                           Size:LARGE_INTEGER;
  858.                           dwStreamNameSize:ULONG ;
  859.                           cStreamName:ARRAY[0..ANYSIZE_ARRAY-1] OF WCHAR ;
  860.     END;
  861.  
  862. CONST
  863.      {Stream Ids}
  864.      BACKUP_INVALID          =$00000000;
  865.      BACKUP_DATA             =$00000001;
  866.      BACKUP_EA_DATA          =$00000002;
  867.      BACKUP_SECURITY_DATA    =$00000003;
  868.      BACKUP_ALTERNATE_DATA   =$00000004;
  869.      BACKUP_LINK             =$00000005;
  870.      BACKUP_PROPERTY_DATA    =$00000006;
  871.  
  872.      {Stream Attributes}
  873.      STREAM_NORMAL_ATTRIBUTE    =$00000000;
  874.      STREAM_MODIFIED_WHEN_READ  =$00000001;
  875.      STREAM_CONTAINS_SECURITY   =$00000002;
  876.      STREAM_CONTAINS_PROPERTIES =$00000004;
  877.  
  878.      STARTF_USESHOWWINDOW    =$00000001;
  879.      STARTF_USESIZE          =$00000002;
  880.      STARTF_USEPOSITION      =$00000004;
  881.      STARTF_USECOUNTCHARS    =$00000008;
  882.      STARTF_USEFILLATTRIBUTE =$00000010;
  883.      STARTF_RUNFULLSCREEN    =$00000020;
  884.      STARTF_FORCEONFEEDBACK  =$00000040;
  885.      STARTF_FORCEOFFFEEDBACK =$00000080;
  886.      STARTF_USESTDHANDLES    =$00000100;
  887.  
  888. TYPE
  889.     PSTARTUPINFO=^STARTUPINFO;
  890.     STARTUPINFO=RECORD
  891.                       cb:ULONG;
  892.                       lpReserved:LPSTR;
  893.                       lpDesktop:LPSTR;
  894.                       lpTitle:LPSTR;
  895.                       dwX:ULONG;
  896.                       dwY:ULONG;
  897.                       dwXSize:ULONG;
  898.                       dwYSize:ULONG;
  899.                       dwXCountChars:ULONG;
  900.                       dwYCountChars:ULONG;
  901.                       dwFillAttribute:ULONG;
  902.                       dwFlags:ULONG;
  903.                       wShowWindow:WORD;
  904.                       cbReserved2:WORD;
  905.                       lpReserved2:LPBYTE;
  906.                       hStdInput:HANDLE;
  907.                       hStdOutput:HANDLE;
  908.                       hStdError:HANDLE;
  909.     END;
  910.     LPSTARTUPINFO=PSTARTUPINFO;
  911.  
  912. CONST
  913.      SHUTDOWN_NORETRY                =$00000001;
  914.  
  915. TYPE
  916.      PWIN32_FIND_DATA=^WIN32_FIND_DATA;
  917.      WIN32_FIND_DATA=RECORD
  918.                            dwFileAttributes:ULONG;
  919.                            ftCreationTime:FILETIME;
  920.                            ftLastAccessTime:FILETIME;
  921.                            ftLastWriteTime:FILETIME;
  922.                            nFileSizeHigh:ULONG;
  923.                            nFileSizeLow:ULONG;
  924.                            dwReserved0:ULONG;
  925.                            dwReserved1:ULONG;
  926.                            cFileName:ARRAY[0..MAX_PATH-1] OF CHAR;
  927.                            cAlternateFileName:ARRAY[0..14] OF CHAR;
  928.      END;
  929.      LPWIN32_FIND_DATA=PWIN32_FIND_DATA;
  930.  
  931. CONST
  932.      DONT_RESOLVE_DLL_REFERENCES     =$00000001;
  933.      LOAD_LIBRARY_AS_DATAFILE        =$00000002;
  934.      LOAD_WITH_ALTERED_SEARCH_PATH   =$00000008;
  935.  
  936. TYPE
  937.     ENUMRESTYPEPROC=FUNCTION(hModule:HINSTANCE;lpType:LPTSTR;lParam:LONG):BOOL;
  938.     ENUMRESNAMEPROC=FUNCTION(hModule:HINSTANCE;lpType:LPCTSTR;lpName:LPTSTR;lParam:LONG):BOOL;
  939.     ENUMRESLANGPROC=FUNCTION(hModule:HINSTANCE;lpType:LPCTSTR;lpName:LPCTSTR;wLanguage:WORD;
  940.                              lParam:LONG):BOOL;
  941.  
  942. CONST
  943.      DDD_RAW_TARGET_PATH         =$00000001;
  944.      DDD_REMOVE_DEFINITION       =$00000002;
  945.      DDD_EXACT_MATCH_ON_REMOVE   =$00000004;
  946.  
  947.      MOVEFILE_REPLACE_EXISTING   =$00000001;
  948.      MOVEFILE_COPY_ALLOWED       =$00000002;
  949.      MOVEFILE_DELAY_UNTIL_REBOOT =$00000004;
  950.  
  951. CONST
  952.      MAX_COMPUTERNAME_LENGTH =15;
  953.  
  954. TYPE
  955.     POSVERSIONINFO=^OSVERSIONINFO;
  956.     OSVERSIONINFO=RECORD
  957.                         dwOSVersionInfoSize:ULONG;
  958.                         dwMajorVersion:ULONG;
  959.                         dwMinorVersion:ULONG;
  960.                         dwBuildNumber:ULONG;
  961.                         dwPlatformId:ULONG;
  962.                         szCSDVersion:ARRAY[0..127] OF CHAR;
  963.     END;
  964.     LPOSVERSIONINFO=POSVERSIONINFO;
  965.  
  966. CONST
  967.      VER_PLATFORM_WIN32s         =0;
  968.      VER_PLATFORM_WIN32_NT       =2;
  969.  
  970. CONST
  971.      {Termination codes}
  972.      TC_NORMAL       =0;
  973.      TC_HARDERR      =1;
  974.      TC_GP_TRAP      =2;
  975.      TC_SIGNAL       =3;
  976.  
  977. CONST
  978.     EXCEPTION_EXECUTE_HANDLER       = 1;
  979.     EXCEPTION_CONTINUE_SEARCH       = 0;
  980.     EXCEPTION_CONTINUE_EXECUTION    =-1;
  981.  
  982. TYPE
  983.     PTOP_LEVEL_EXCEPTION_FILTER=FUNCTION(VAR ExceptionInfo:EXCEPTION_POINTERS):LONG;APIENTRY;
  984.     LPTOP_LEVEL_EXCEPTION_FILTER=PTOP_LEVEL_EXCEPTION_FILTER;
  985.  
  986.     LPOVERLAPPED_COMPLETION_ROUTINE=PROCEDURE(dwErrorCode:ULONG;
  987.                                               dwNumberOfBytesTransfered:ULONG;
  988.                                               VAR lpOverlapped:OVERLAPPED);APIENTRY;
  989.  
  990.     CRITICAL_SECTION=RECORD
  991.                            ulReserved:ARRAY[0..7] OF LONGWORD;
  992.     END;
  993.     PCRITICAL_SECTION=^CRITICAL_SECTION;
  994.  
  995. TYPE
  996.   SECURITY_CONTEXT_TRACKING_MODE = Boolean;
  997.  
  998.   TSecurityImpersonationLevel = (SecurityAnonymous,
  999.                                  SecurityIdentification,
  1000.                                  SecurityImpersonation,
  1001.                                  SecurityDelegation);
  1002.  
  1003.   PSecurityQualityOfService = ^TSecurityQualityOfService;
  1004.   TSecurityQualityOfService=RECORD
  1005.     Length: DWORD;
  1006.     ImpersonationLevel: TSecurityImpersonationLevel;
  1007.     ContextTrackingMode: SECURITY_CONTEXT_TRACKING_MODE;
  1008.     EffectiveOnly: Boolean;
  1009.   End;
  1010.  
  1011.  
  1012. IMPORTS
  1013.        {$IFDEF Win95}
  1014.        FUNCTION InterlockedIncrement(VAR lpAppend:LONG):LONG;
  1015.                   APIENTRY;  'KERNEL32' name 'InterlockedIncrement';
  1016.        FUNCTION InterlockedDecrement(VAR lpAddend:LONG):LONG;
  1017.                   APIENTRY;  'KERNEL32' name 'InterlockedDecrement';
  1018.        FUNCTION InterlockedExchange(VAR Target:LONG;Value:LONG):LONG;
  1019.                   APIENTRY;  'KERNEL32' name 'InterlockedExchange';
  1020.        FUNCTION FreeResource(hResData:HGLOBAL):BOOL;
  1021.                   APIENTRY;  'KERNEL32' name 'FreeResource';
  1022.        FUNCTION LockResource(hResData:HGLOBAL):POINTER;
  1023.                   APIENTRY;  'KERNEL32' name 'LockResource';
  1024.        FUNCTION FreeLibrary(hLibModule:HINSTANCE):BOOL;
  1025.                   APIENTRY;  'KERNEL32' name 'FreeLibrary';
  1026.        PROCEDURE FreeLibraryAndExitThread(hLibModule:HMODULE;dwExitCode:ULONG);
  1027.                   APIENTRY;  'KERNEL32' name 'FreeLibraryAndExitThread';
  1028.        FUNCTION DisableThreadLibraryCalls(hLibModule:HMODULE):BOOL;
  1029.                   APIENTRY;  'KERNEL32' name 'DisableThreadLibraryCalls';
  1030.        FUNCTION GetProcAddress(hModule:HINSTANCE;CONST lpProcName:CSTRING):POINTER;
  1031.                   APIENTRY;  'KERNEL32' name 'GetProcAddress';
  1032.        FUNCTION GetVersion:ULONG;
  1033.                   APIENTRY;  'KERNEL32' name 'GetVersion';
  1034.        FUNCTION GlobalAlloc(uFlags:ULONG;dwBytes:ULONG):HGLOBAL;
  1035.                   APIENTRY;  'KERNEL32' name 'GlobalAlloc';
  1036.        FUNCTION GlobalReAlloc(hMem:HGLOBAL;dwBytes:ULONG;uFlags:ULONG):HGLOBAL;
  1037.                   APIENTRY;  'KERNEL32' name 'GlobalReAlloc';
  1038.        FUNCTION GlobalSize(hMem:HGLOBAL):ULONG;
  1039.                   APIENTRY;  'KERNEL32' name 'GlobalSize';
  1040.        FUNCTION GlobalFlags(hMem:HGLOBAL):ULONG;
  1041.                   APIENTRY;  'KERNEL32' name 'GlobalFlags';
  1042.        FUNCTION GlobalLock(hMem:HGLOBAL):POINTER;
  1043.                   APIENTRY;  'KERNEL32' name 'GlobalLock';
  1044.        FUNCTION GlobalHandle(pMem:POINTER):HGLOBAL;
  1045.                   APIENTRY;  'KERNEL32' name 'GlobalHandle';
  1046.        FUNCTION GlobalUnlock(hMem:HGLOBAL):BOOL;
  1047.                   APIENTRY;  'KERNEL32' name 'GlobalUnlock';
  1048.        FUNCTION GlobalFree(hMem:HGLOBAL):HGLOBAL;
  1049.                   APIENTRY;  'KERNEL32' name 'GlobalFree';
  1050.        FUNCTION GlobalCompact(dwMinFree:ULONG):ULONG;
  1051.                   APIENTRY;  'KERNEL32' name 'GlobalCompact';
  1052.        PROCEDURE GlobalFix(hMem:HGLOBAL);
  1053.                   APIENTRY;  'KERNEL32' name 'GlobalFix';
  1054.        PROCEDURE GlobalUnfix(hMem:HGLOBAL);
  1055.                   APIENTRY;  'KERNEL32' name 'GlobalUnfix';
  1056.        FUNCTION GlobalWire(hMem:HGLOBAL):POINTER;
  1057.                   APIENTRY;  'KERNEL32' name 'GlobalWire';
  1058.        FUNCTION GlobalUnWire(hMem:HGLOBAL):BOOL;
  1059.                   APIENTRY;  'KERNEL32' name 'GlobalUnWire';
  1060.        PROCEDURE GlobalMemoryStatus(VAR lpBuffer:MEMORYSTATUS);
  1061.                   APIENTRY;  'KERNEL32' name 'GlobalMemoryStatus';
  1062.        FUNCTION LocalAlloc(uFlags:ULONG;uBytes:ULONG):HLOCAL;
  1063.                   APIENTRY;  'KERNEL32' name 'LocalAlloc';
  1064.        FUNCTION LocalReAlloc(hMem:HLOCAL;uBytes:ULONG;uFlags:ULONG):HLOCAL;
  1065.                   APIENTRY;  'KERNEL32' name 'LocalReAlloc';
  1066.        FUNCTION LocalLock(hMem:HLOCAL):POINTER;
  1067.                   APIENTRY;  'KERNEL32' name 'LocalLock';
  1068.        FUNCTION LocalHandle(pMem:POINTER):HLOCAL;
  1069.                   APIENTRY;  'KERNEL32' name 'LocalHandle';
  1070.        FUNCTION LocalUnlock(hMem:HLOCAL):BOOL;
  1071.                   APIENTRY;  'KERNEL32' name 'LocalUnlock';
  1072.        FUNCTION LocalSize(hMem:HLOCAL):ULONG;
  1073.                   APIENTRY;  'KERNEL32' name 'LocalSize';
  1074.        FUNCTION LocalFlags(hMem:HLOCAL):ULONG;
  1075.                   APIENTRY;  'KERNEL32' name 'LocalFlags';
  1076.        FUNCTION LocalFree(hMem:HLOCAL):HLOCAL;
  1077.                   APIENTRY;  'KERNEL32' name 'LocalFree';
  1078.        FUNCTION LocalShrink(hMem:HLOCAL;cbNewSize:ULONG):ULONG;
  1079.                   APIENTRY;  'KERNEL32' name 'LocalShrink';
  1080.        FUNCTION LocalCompact(uMinFree:ULONG):ULONG;
  1081.                   APIENTRY;  'KERNEL32' name 'LocalCompact';
  1082.        FUNCTION FlushInstructionCache(hProcess:HANDLE;lpBaseAddress:POINTER;
  1083.                                       dwSize:ULONG):BOOL;
  1084.                   APIENTRY;  'KERNEL32' name 'FlushInstructionCache';
  1085.        FUNCTION VirtualAlloc(lpAddress:POINTER;dwSize:ULONG;flAllocationType:ULONG;
  1086.                              flProtect:ULONG):POINTER;
  1087.                   APIENTRY;  'KERNEL32' name 'VirtualAlloc';
  1088.        FUNCTION VirtualFree(lpAddress:POINTER;dwSize:ULONG;dwFreeType:ULONG):BOOL;
  1089.                   APIENTRY;  'KERNEL32' name 'VirtualFree';
  1090.        FUNCTION VirtualProtect(lpAddress:POINTER;dwSize:ULONG;flNewProtect:ULONG;
  1091.                                VAR lpflOldProtect:ULONG):BOOL;
  1092.                   APIENTRY;  'KERNEL32' name 'VirtualProtect';
  1093.        FUNCTION VirtualQuery(lpAddress:POINTER;VAR lpBuffer:MEMORY_BASIC_INFORMATION;
  1094.                              dwLength:ULONG):ULONG;
  1095.                   APIENTRY;  'KERNEL32' name 'VirtualQuery';
  1096.        FUNCTION VirtualProtectEx(hProcess:HANDLE;lpAddress:POINTER;dwSize:ULONG;
  1097.                                  flNewProtect:ULONG;VAR lpflOldProtect:ULONG):BOOL;
  1098.                   APIENTRY;  'KERNEL32' name 'VirtualProtectEx';
  1099.        FUNCTION VirtualQueryEx(hProcess:HANDLE;lpAddress:POINTER;
  1100.                                VAR lpBuffer:MEMORY_BASIC_INFORMATION;
  1101.                                dwLength:ULONG):ULONG;
  1102.                   APIENTRY;  'KERNEL32' name 'VirtualQueryEx';
  1103.        FUNCTION HeapCreate(flOptions:ULONG;dwInitialSize:ULONG;
  1104.                            dwMaximumSize:ULONG):HANDLE;
  1105.                   APIENTRY;  'KERNEL32' name 'HeapCreate';
  1106.        FUNCTION HeapDestroy(hHeap:HANDLE):BOOL;
  1107.                   APIENTRY;  'KERNEL32' name 'HeapDestroy';
  1108.        FUNCTION HeapAlloc(hHeap:HANDLE;dwFlags,dwBytes:ULONG):POINTER;
  1109.                   APIENTRY;  'KERNEL32' name 'HeapAlloc';
  1110.        FUNCTION HeapReAlloc(hHeap:HANDLE;dwFlags:ULONG;lpMem:POINTER;
  1111.                             dwBytes:ULONG):POINTER;
  1112.                   APIENTRY;  'KERNEL32' name 'HeapReAlloc';
  1113.        FUNCTION HeapFree(hHeap:HANDLE;dwFlags:ULONG;lpMem:POINTER):BOOL;
  1114.                   APIENTRY;  'KERNEL32' name 'HeapFree';
  1115.        FUNCTION HeapSize(hHeap:HANDLE;dwFlags:ULONG;lpMem:POINTER):ULONG;
  1116.                   APIENTRY;  'KERNEL32' name 'HeapSize';
  1117.        FUNCTION HeapValidate(hHeap:HANDLE;dwFlags:ULONG;lpMem:POINTER):BOOL;
  1118.                   APIENTRY;  'KERNEL32' name 'HeapValidate';
  1119.        FUNCTION HeapCompact(hHeap:HANDLE;dwFlags:ULONG):ULONG;
  1120.                   APIENTRY;  'KERNEL32' name 'HeapCompact';
  1121.        FUNCTION GetProcessHeap:HANDLE;
  1122.                   APIENTRY;  'KERNEL32' name 'GetProcessHeap';
  1123.        FUNCTION GetProcessHeaps(NumberOfHeaps:ULONG;VAR ProcessHeaps:HANDLE):ULONG;
  1124.                   APIENTRY;  'KERNEL32' name 'GetProcessHeaps';
  1125.        FUNCTION HeapLock(hHeap:HANDLE):BOOL;
  1126.                   APIENTRY;  'KERNEL32' name 'HeapLock';
  1127.        FUNCTION HeapUnlock(hHeap:HANDLE):BOOL;
  1128.                   APIENTRY;  'KERNEL32' name 'HeapUnlock';
  1129.        FUNCTION HeapWalk(hHeap:HANDLE;VAR lpEntry:PROCESS_HEAP_ENTRY):BOOL;
  1130.                   APIENTRY;  'KERNEL32' name 'HeapWalk';
  1131.        FUNCTION GetBinaryType(CONST lpApplicationName:CSTRING;
  1132.                               VAR lpBinaryType:ULONG):BOOL;
  1133.                   APIENTRY;  'KERNEL32' name 'GetBinaryTypeA';
  1134.        FUNCTION GetShortPathName(CONST lpszLongPath:CSTRING;
  1135.                                  VAR lpszShortPath:CSTRING;cchBuffer:ULONG):ULONG;
  1136.                   APIENTRY;  'KERNEL32' name 'GetShortPathNameA';
  1137.        FUNCTION GetProcessAffinityMask(hProcess:HANDLE;VAR lpProcessAffinityMask,
  1138.                                        lpSystemAffinityMask:ULONG):BOOL;
  1139.                   APIENTRY;  'KERNEL32' name 'GetProcessAffinityMask';
  1140.        FUNCTION GetProcessTimes(hProcess:HANDLE;VAR lpCreationTime,
  1141.                                 lpExitTime,lpKernelTime,lpUserTime:FILETIME):BOOL;
  1142.                   APIENTRY;  'KERNEL32' name 'GetProcessTimes';
  1143.        FUNCTION GetProcessWorkingSetSize(hProcess:HANDLE;VAR Min,Max:ULONG):BOOL;
  1144.                   APIENTRY;  'KERNEL32' name 'GetProcessWorkingSetSize';
  1145.        FUNCTION SetProcessWorkingSetSize(hProcess:HANDLE;Min,Max:ULONG):BOOL;
  1146.                   APIENTRY;  'KERNEL32' name 'SetProcessWorkingSetSize';
  1147.        FUNCTION OpenProcess(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  1148.                             dwProcessId:ULONG):HANDLE;
  1149.                   APIENTRY;  'KERNEL32' name 'OpenProcess';
  1150.        FUNCTION GetCurrentProcess:HANDLE;
  1151.                   APIENTRY;  'KERNEL32' name 'GetCurrentProcess';
  1152.        FUNCTION GetCurrentProcessId:ULONG;
  1153.                   APIENTRY;  'KERNEL32' name 'GetCurrentProcessId';
  1154.        PROCEDURE ExitProcess(uExitCode:ULONG);
  1155.                   APIENTRY;  'KERNEL32' name 'ExitProcess';
  1156.        FUNCTION TerminateProcess(hProcess:HANDLE;uExitCode:ULONG):BOOL;
  1157.                   APIENTRY;  'KERNEL32' name 'TerminateProcess';
  1158.        FUNCTION GetExitCodeProcess(hProcess:HANDLE;VAR lpExitCode:ULONG):BOOL;
  1159.                   APIENTRY;  'KERNEL32' name 'GetExitCodeProcess';
  1160.        PROCEDURE FatalExit(ExitCode:LONGINT);
  1161.                   APIENTRY;  'KERNEL32' name 'FatalExit';
  1162.        FUNCTION GetEnvironmentStrings:PChar;
  1163.                   APIENTRY;  'KERNEL32' name 'GetEnvironmentStrings'; {A ??}
  1164.        FUNCTION FreeEnvironmentStrings(p:PChar):BOOL;
  1165.                   APIENTRY;  'KERNEL32' name 'FreeEnvironmentStringsA';
  1166.        PROCEDURE RaiseException(dwExceptionCode,dwExceptionFlags:ULONG;
  1167.                                 nNumberOfArguments:ULONG;VAR lpArguments);
  1168.                   APIENTRY;  'KERNEL32' name 'RaiseException';
  1169.        FUNCTION UnhandledExceptionFilter(VAR ExceptionInfo:EXCEPTION_POINTERS):LONG;
  1170.                   APIENTRY;  'KERNEL32' name 'UnhandledExceptionFilter';
  1171.        FUNCTION SetUnhandledExceptionFilter(lpTopLevelFilter:PTOP_LEVEL_EXCEPTION_FILTER):
  1172.                                 LPTOP_LEVEL_EXCEPTION_FILTER;
  1173.                   APIENTRY;  'KERNEL32' name 'SetUnhandledExceptionFilter';
  1174.        FUNCTION CreateThread(VAR ThreadAttrs:SECURITY_ATTRIBUTES;Stack:ULONG;
  1175.                              lpStartAddress:LPTHREAD_START_ROUTINE;
  1176.                              lpParameter:POINTER;dwCreationFlags:ULONG;
  1177.                              VAR lpThreadId:ULONG):HANDLE;
  1178.                   APIENTRY;  'KERNEL32' name 'CreateThread';
  1179.        FUNCTION CreateRemoteThread(hProcess:HANDLE;VAR Attrs:SECURITY_ATTRIBUTES;
  1180.                                    dwStack:ULONG;lpStartAddr:LPTHREAD_START_ROUTINE;
  1181.                                    lpParameter:POINTER;dwCreationFlags:ULONG;
  1182.                                    VAR lpThreadId:ULONG):HANDLE;
  1183.                   APIENTRY;  'KERNEL32' name 'CreateRemoteThread';
  1184.        FUNCTION GetCurrentThread:HANDLE;
  1185.                   APIENTRY;  'KERNEL32' name 'GetCurrentThread';
  1186.        FUNCTION GetCurrentThreadId:ULONG;
  1187.                   APIENTRY;  'KERNEL32' name 'GetCurrentThreadId';
  1188.        FUNCTION SetThreadAffinityMask(hThread:HANDLE;dwMask:ULONG):ULONG;
  1189.                   APIENTRY;  'KERNEL32' name 'SetThreadAffinityMask';
  1190.        FUNCTION SetThreadPriority(hThread:HANDLE;nPriority:LONGINT):BOOL;
  1191.                   APIENTRY;  'KERNEL32' name 'SetThreadPriority';
  1192.        FUNCTION GetThreadPriority(hThread:HANDLE):LONGINT;
  1193.                   APIENTRY;  'KERNEL32' name 'GetThreadPriority';
  1194.        FUNCTION GetThreadTimes(hThread:HANDLE;VAR lpCreationTime,
  1195.                                lpExitTime,lpKernelTime,lpUserTime:FILETIME):BOOL;
  1196.                   APIENTRY;  'KERNEL32' name 'GetThreadTimes';
  1197.        PROCEDURE ExitThread(ExitCode:ULONG);
  1198.                   APIENTRY;  'KERNEL32' name 'ExitThread';
  1199.        FUNCTION TerminateThread(hThread:HANDLE;dwExitCode:ULONG):BOOL;
  1200.                   APIENTRY;  'KERNEL32' name 'TerminateThread';
  1201.        FUNCTION GetExitCodeThread(hThread:HANDLE;VAR lpExitCode:ULONG):BOOL;
  1202.                   APIENTRY;  'KERNEL32' name 'GetExitCodeThread';
  1203.        FUNCTION GetLastError:ULONG;
  1204.                   APIENTRY;  'KERNEL32' name 'GetLastError';
  1205.        PROCEDURE SetLastError(dwErrCode:ULONG);
  1206.                   APIENTRY;  'KERNEL32' name 'SetLastError';
  1207.        FUNCTION GetOverlappedResult(hFile:HANDLE;VAR lpOverlapped:OVERLAPPED;
  1208.                                     VAR lpNumberBytes:ULONG;bWait:BOOL):BOOL;
  1209.                   APIENTRY;  'KERNEL32' name 'GetOverlappedResult';
  1210.        FUNCTION CreateIoCompletionPort(FileHandle:HANDLE;ExistingPort:HANDLE;
  1211.                                        CompletionKey,NumberConcThreads:ULONG):HANDLE;
  1212.                   APIENTRY;  'KERNEL32' name 'CreateIoCompletionPort';
  1213.        FUNCTION GetQueuedCompletionStatus(CompletionPort:HANDLE;
  1214.                                           VAR lpNumber,lpKey:ULONG;
  1215.                                           VAR lpOverlapped:OVERLAPPED;
  1216.                                           dwMillisecs:ULONG):BOOL;
  1217.                   APIENTRY;  'KERNEL32' name 'GetQueuedCompletionStatus';
  1218.        FUNCTION SetErrorMode(uMode:ULONG):ULONG;
  1219.                   APIENTRY;  'KERNEL32' name 'SetErrorMode';
  1220.        FUNCTION ReadProcessMemory(hProcess:HANDLE;lpBaseAddress:POINTER;
  1221.                                   VAR lpBuffer;nSize:ULONG;
  1222.                                   VAR lpNumberOfBytesRead:ULONG):BOOL;
  1223.                   APIENTRY;  'KERNEL32' name 'ReadProcessMemory';
  1224.        FUNCTION WriteProcessMemory(hProcess:HANDLE;lpBaseAddress:POINTER;
  1225.                                    VAR lpBuffer;nSize:ULONG;
  1226.                                    VAR lpNumberOfBytesWritten:ULONG):BOOL;
  1227.                   APIENTRY;  'KERNEL32' name 'WriteProcessMemory';
  1228.        FUNCTION GetThreadContext(hThread:HANDLE;VAR lpContext:CONTEXT):BOOL;
  1229.                   APIENTRY;  'KERNEL32' name 'GetThreadContext';
  1230.        FUNCTION SetThreadContext(hThread:HANDLE;CONST lpContext:CONTEXT):BOOL;
  1231.                   APIENTRY;  'KERNEL32' name 'SetThreadContext';
  1232.        FUNCTION SuspendThread(hThread:HANDLE):ULONG;
  1233.                   APIENTRY;  'KERNEL32' name 'SuspendThread';
  1234.        FUNCTION ResumeThread(hThread:HANDLE):ULONG;
  1235.                   APIENTRY;  'KERNEL32' name 'ResumeThread';
  1236.        PROCEDURE DebugBreak;
  1237.                   APIENTRY;  'KERNEL32' name 'DebugBreak';
  1238.        FUNCTION WaitForDebugEvent(VAR lpDebugEvent:DEBUG_EVENT;
  1239.                                   dwMilliseconds:ULONG):BOOL;
  1240.                   APIENTRY;  'KERNEL32' name 'WaitForDebugEvent';
  1241.        FUNCTION ContinueDebugEvent(dwProcessId,dwThreadId,dwStatus:ULONG):BOOL;
  1242.                   APIENTRY;  'KERNEL32' name 'ContinueDebugEvent';
  1243.        FUNCTION DebugActiveProcess(dwProcessId:ULONG):BOOL;
  1244.                   APIENTRY;  'KERNEL32' name 'DebugActiveProcess';
  1245.        PROCEDURE InitializeCriticalSection(VAR CritSec:CRITICAL_SECTION);
  1246.                   APIENTRY;  'KERNEL32' name 'InitializeCriticalSection';
  1247.        PROCEDURE EnterCriticalSection(VAR CritSec:CRITICAL_SECTION);
  1248.                   APIENTRY;  'KERNEL32' name 'EnterCriticalSection';
  1249.        PROCEDURE LeaveCriticalSection(VAR CritSec:CRITICAL_SECTION);
  1250.                   APIENTRY;  'KERNEL32' name 'LeaveCriticalSection';
  1251.        PROCEDURE DeleteCriticalSection(VAR CritSec:CRITICAL_SECTION);
  1252.                   APIENTRY;  'KERNEL32' name 'DeleteCriticalSection';
  1253.        FUNCTION SetEvent(hEvent:HANDLE):BOOL;
  1254.                   APIENTRY;  'KERNEL32' name 'SetEvent';
  1255.        FUNCTION ResetEvent(hEvent:HANDLE):BOOL;
  1256.                   APIENTRY;  'KERNEL32' name 'ResetEvent';
  1257.        FUNCTION PulseEvent(hEvent:HANDLE):BOOL;
  1258.                   APIENTRY;  'KERNEL32' name 'PulseEvent';
  1259.        FUNCTION ReleaseSemaphore(hSemaphore:HANDLE;lReleaseCount:LONG;
  1260.                                  VAR lpPreviousCount:LONG):BOOL;
  1261.                   APIENTRY;  'KERNEL32' name 'ReleaseSemaphore';
  1262.        FUNCTION ReleaseMutex(hMutex:HANDLE):BOOL;
  1263.                   APIENTRY;  'KERNEL32' name 'ReleaseMutex';
  1264.        FUNCTION WaitForSingleObject(hHandle:HANDLE;dwMilliseconds:ULONG):ULONG;
  1265.                   APIENTRY;  'KERNEL32' name 'WaitForSingleObject';
  1266.        FUNCTION WaitForMultipleObjects(nCount:ULONG;VAR lpHandle:HANDLE;
  1267.                                        bWaitAll:BOOL;dwMilliseconds:ULONG):ULONG;
  1268.                   APIENTRY;  'KERNEL32' name 'WaitForMultipleObjects';
  1269.        PROCEDURE Sleep(dwMilliseconds:ULONG);
  1270.                   APIENTRY;  'KERNEL32' name 'Sleep';
  1271.        FUNCTION LoadResource(hModule:HINSTANCE;hResInfo:HRSRC):HGLOBAL;
  1272.                   APIENTRY;  'KERNEL32' name 'LoadResource';
  1273.        FUNCTION SizeofResource(hModule:HINSTANCE;hResInfo:HRSRC):ULONG;
  1274.                   APIENTRY;  'KERNEL32' name 'SizeofResource';
  1275.        FUNCTION GlobalDeleteAtom(nAtom:ATOM):ATOM;
  1276.                   APIENTRY;  'KERNEL32' name 'GlobalDeleteAtom';
  1277.        FUNCTION InitAtomTable(nSize:ULONG):BOOL;
  1278.                   APIENTRY;  'KERNEL32' name 'InitAtomTable';
  1279.        FUNCTION DeleteAtom(nAtom:ATOM):ATOM;
  1280.                   APIENTRY;  'KERNEL32' name 'DeleteAtom';
  1281.        FUNCTION SetHandleCount(uNumber:ULONG):ULONG;
  1282.                   APIENTRY;  'KERNEL32' name 'SetHandleCount';
  1283.        FUNCTION GetLogicalDrives:ULONG;
  1284.                   APIENTRY;  'KERNEL32' name 'GetLogicalDrives';
  1285.        FUNCTION LockFile(hFile:HANDLE;dwFileOffsetLow,dwFileOffsetHigh:ULONG;
  1286.                          dwNumbersToLockLow,dwNumbersToLockHigh:ULONG):BOOL;
  1287.                   APIENTRY;  'KERNEL32' name 'LockFile';
  1288.        FUNCTION UnlockFile (hFile:HANDLE;dwFileOffsetLow,dwFileOffsetHigh:ULONG;
  1289.                          dwNumbersToUnlockLow,dwNumbersToUnlockHigh:ULONG):BOOL;
  1290.                   APIENTRY;  'KERNEL32' name 'UnlockFile';
  1291.        FUNCTION LockFileEx(hFile:HANDLE;dwFlags,dwReserved:ULONG;
  1292.                            nNumberOfBytesToLockLow,nNumberOfBytesToLockHigh:ULONG;
  1293.                            VAR lpOverlapped:OVERLAPPED):BOOL;
  1294.                   APIENTRY;  'KERNEL32' name 'LockFileEx';
  1295.        FUNCTION UnlockFileEx(hFile:HANDLE;dwFlags,dwReserved:ULONG;
  1296.                            nNumberOfBytesToUnlockLow,nNumberOfBytesToUnlockHigh:ULONG;
  1297.                            VAR lpOverlapped:OVERLAPPED):BOOL;
  1298.                   APIENTRY;  'KERNEL32' name 'UnlockFileEx';
  1299.        FUNCTION GetFileInformationByHandle(hFile:HANDLE;
  1300.                              VAR lpFileInformation:BY_HANDLE_FILE_INFORMATION):BOOL;
  1301.                   APIENTRY;  'KERNEL32' name 'GetFileInformationByHandle';
  1302.        FUNCTION GetFileType(hFile:HANDLE):ULONG;
  1303.                   APIENTRY;  'KERNEL32' name 'GetFileType';
  1304.        FUNCTION GetFileSize(hFile:HANDLE;VAR lpFileSizeHigh:ULONG):ULONG;
  1305.                   APIENTRY;  'KERNEL32' name 'GetFileSize';
  1306.        FUNCTION GetStdHandle(nStdHandle:ULONG):HANDLE;
  1307.                   APIENTRY;  'KERNEL32' name 'GetStdHandle';
  1308.        FUNCTION SetStdHandle(nStdHandle:ULONG;hHandle:HANDLE):BOOL;
  1309.                   APIENTRY;  'KERNEL32' name 'SetStdHandle';
  1310.        FUNCTION WriteFile(hFile:HANDLE;CONST lpBuffer;nNumberOfBytesToWrite:ULONG;
  1311.                           VAR lpNumberOfBytesWritten:ULONG;
  1312.                           VAR lpOverlapped:OVERLAPPED):BOOL;
  1313.                   APIENTRY;  'KERNEL32' name 'WriteFile';
  1314.        FUNCTION ReadFile(hFile:HANDLE;VAR lpBuffer;nNumberOfBytesToRead:ULONG;
  1315.                          VAR lpNumberOfBytesRead:ULONG;
  1316.                          VAR lpOverlapped:OVERLAPPED):BOOL;
  1317.                   APIENTRY;  'KERNEL32' name 'ReadFile';
  1318.        FUNCTION FlushFileBuffers(hFile:HANDLE):BOOL;
  1319.                   APIENTRY;  'KERNEL32' name 'FlushFileBuffers';
  1320.        FUNCTION DeviceIoControl(hDevice:HANDLE;dwloControlCode:ULONG;
  1321.                                 VAR lpInBuffer;nInBufferSize:ULONG;
  1322.                                 VAR lpOutBuffer;nOutBufferSize:ULONG;
  1323.                                 VAR lpBytesReturned:ULONG;
  1324.                                 VAR lpOverlapped:OVERLAPPED):BOOL;
  1325.                   APIENTRY;  'KERNEL32' name 'DeviceIoControl';
  1326.        FUNCTION SetEndOfFile(hFile:HANDLE):BOOL;
  1327.                   APIENTRY;  'KERNEL32' name 'SetEndOfFile';
  1328.        FUNCTION SetFilePointer(hFile:HANDLE;lDistanceToMove:LONG;
  1329.                                VAR lpDistanceToMoveHigh:LONG;
  1330.                                dwMoveMethod:ULONG):ULONG;
  1331.                   APIENTRY;  'KERNEL32' name 'SetFilePointer';
  1332.        FUNCTION FindClose(hFindFile:HANDLE):BOOL;
  1333.                   APIENTRY;  'KERNEL32' name 'FindClose';
  1334.        FUNCTION GetFileTime(hFile:HANDLE;VAR lpCreationTime,lpLastAccessTime,
  1335.                             lpLastWriteTime:FILETIME):BOOL;
  1336.                   APIENTRY;  'KERNEL32' name 'GetFileTime';
  1337.        FUNCTION SetFileTime(hFile:HANDLE;VAR lpCreationTime,lpLastAccessTime,
  1338.                             lpLastWriteTime:FILETIME):BOOL;
  1339.                   APIENTRY;  'KERNEL32' name 'SetFileTime';
  1340.        FUNCTION CloseHandle(hObject:HANDLE):BOOL;
  1341.                   APIENTRY;  'KERNEL32' name 'CloseHandle';
  1342.        FUNCTION DuplicateHandle(hSourceProcessHandle,hSourceHandle:HANDLE;
  1343.                                 hTargetProcessHandle:HANDLE;VAR lpTargetHandle:HANDLE;
  1344.                                 dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  1345.                                 dwOptions:ULONG):BOOL;
  1346.                   APIENTRY;  'KERNEL32' name 'DuplicateHandle';
  1347.        FUNCTION GetHandleInformation(hObject:HANDLE;VAR lpdwFlags:ULONG):BOOL;
  1348.                   APIENTRY;  'KERNEL32' name 'GetHandleInformation';
  1349.        FUNCTION SetHandleInformation(hObject:HANDLE;dwMask,dwFlags:ULONG):BOOL;
  1350.                   APIENTRY;  'KERNEL32' name 'SetHandleInformation';
  1351.        FUNCTION LoadModule(CONST lpModuleName:CSTRING;lpParameterBlock:POINTER):ULONG;
  1352.                   APIENTRY;  'KERNEL32' name 'LoadModule';
  1353.        FUNCTION WinExec(CONST lpCmdLine:CSTRING;uCmdShow:ULONG):ULONG;
  1354.                   APIENTRY;  'KERNEL32' name 'WinExec';
  1355.        {FUNCTION BuildCommDCB(VAR lpDef:CSTRING;VAR lpDCB:DCB):BOOL;
  1356.                   APIENTRY;  'KERNEL32' name 'BuildCommDCB';
  1357.        FUNCTION BuildCommDCBAndTimeouts(VAR lpDef:CSTRING;VAR lpDCB:DCB;
  1358.                                         VAR lpCommTimeouts:COMMTIMEOUTS):BOOL;
  1359.                   APIENTRY;  'KERNEL32' name 'BuildCommDCBAndTimeouts';}
  1360.        FUNCTION ClearCommBreak(hFile:HANDLE):BOOL;
  1361.                   APIENTRY;  'KERNEL32' name 'ClearCommBreak';
  1362.        {FUNCTION ClearCommError(hFile:HANDLE;VAR lpErrors:ULONG;
  1363.                                VAR lpStat:COMSTAT):BOOL;
  1364.                   APIENTRY;  'KERNEL32' name 'ClearCommError';}
  1365.        FUNCTION SetupComm(hFile:HANDLE;dwInQueue,dwOutQueue:ULONG):BOOL;
  1366.                   APIENTRY;  'KERNEL32' name 'SetupComm';
  1367.        FUNCTION EscapeCommFunction(hFile:HANDLE;dwFunc:ULONG):BOOL;
  1368.                   APIENTRY;  'KERNEL32' name 'EscapeCommFunction';
  1369.        {FUNCTION GetCommConfig(hCommDev:HANDLE;VAR lpCC:COMMCONFIG;
  1370.                               VAR lpdwSize:ULONG):BOOL;
  1371.                   APIENTRY;  'KERNEL32' name 'GetCommConfig';}
  1372.        FUNCTION GetCommMask(hFile:HANDLE;VAR lpEvtMask:ULONG):BOOL;
  1373.                   APIENTRY;  'KERNEL32' name 'GetCommMask';
  1374.        FUNCTION GetCommProperties(hFile:HANDLE;VAR lpCommProp:COMMPROP):BOOL;
  1375.                   APIENTRY;  'KERNEL32' name 'GetCommProperties';
  1376.        FUNCTION GetCommModemStatus(hFile:HANDLE;VAR lpModemStat:ULONG):BOOL;
  1377.                   APIENTRY;  'KERNEL32' name 'GetCommModemStatus';
  1378.        {FUNCTION GetCommState(hFile:HANDLE;VAR lpDCB:DCB):BOOL;
  1379.                   APIENTRY;  'KERNEL32' name 'GetCommState';
  1380.        FUNCTION GetCommTimeouts(hFile:HANDLE;VAR lpCommTimeouts:COMMTIMEOUTS):BOOL;
  1381.                   APIENTRY;  'KERNEL32' name 'GetCommTimeouts';
  1382.        FUNCTION PurgeComm(hFile:HANDLE;dwFlags:ULONG):BOOL;
  1383.                   APIENTRY;  'KERNEL32' name 'PurgeComm';
  1384.        FUNCTION SetCommBreak(hFile:HANDLE):BOOL;
  1385.                   APIENTRY;  'KERNEL32' name 'SetCommBreak';
  1386.        FUNCTION SetCommConfig(hCommDev:HANDLE;VAR lpCC:COMMCONFIG;
  1387.                               dwSize:ULONG):BOOL;
  1388.                   APIENTRY;  'KERNEL32' name 'SetCommConfig';}
  1389.        FUNCTION SetCommMask(hFile:HANDLE;dwEvtMask:ULONG):BOOL;
  1390.                   APIENTRY;  'KERNEL32' name 'SetCommMask';
  1391.        {FUNCTION SetCommState(hFile:HANDLE;VAR lpDCB:DCB):BOOL;
  1392.                   APIENTRY;  'KERNEL32' name 'SetCommState';
  1393.        FUNCTION SetCommTimeouts(hFile:HANDLE;VAR lpCommTimeouts:COMMTIMEOUTS):BOOL;
  1394.                   APIENTRY;  'KERNEL32' name 'SetCommTimeouts';}
  1395.        FUNCTION TransmitCommChar(hFile:HANDLE;cChar:CHAR):BOOL;
  1396.                   APIENTRY;  'KERNEL32' name 'TransmitCommChar';
  1397.        FUNCTION WaitCommEvent(hFile:HANDLE;VAR lpEvtMask:ULONG;
  1398.                               VAR lpOverlapped:OVERLAPPED):BOOL;
  1399.                   APIENTRY;  'KERNEL32' name 'WaitCommEvent';
  1400.        FUNCTION SetTapePosition(hDevice:HANDLE;dwPositionMethod,dwPartition:ULONG;
  1401.                                 dwOffsetLow,dwOffsetHigh:ULONG;bImmediate:BOOL):ULONG;
  1402.                   APIENTRY;  'KERNEL32' name 'SetTapePosition';
  1403.        FUNCTION GetTapePosition(hDevice:HANDLE;dwPositionType:ULONG;
  1404.                                 VAR lpdwPartition,lpdwOffsetLow,lpdwOffsetHigh:ULONG):ULONG;
  1405.                   APIENTRY;  'KERNEL32' name 'GetTapePosition';
  1406.        FUNCTION PrepareTape(hDevice:HANDLE;dwOperation:ULONG;bImmediate:BOOL):ULONG;
  1407.                   APIENTRY;  'KERNEL32' name 'PrepareTape';
  1408.        FUNCTION EraseTape(hDevice:HANDLE;dwEraseType:ULONG;bImmediate:BOOL):ULONG;
  1409.                   APIENTRY;  'KERNEL32' name 'EraseTape';
  1410.        FUNCTION CreateTapePartition(hDevice:HANDLE;dwPartitionMethod:ULONG;
  1411.                                     dwCount,dwSize:ULONG):ULONG;
  1412.                   APIENTRY;  'KERNEL32' name 'CreateTapePartition';
  1413.        FUNCTION WriteTapemark(hDevice:HANDLE;dwTapemarkType,dwTapeMarkCount:ULONG;
  1414.                               bImmediate:BOOL):ULONG;
  1415.                   APIENTRY;  'KERNEL32' name 'WriteTapemark';
  1416.        FUNCTION GetTapeStatus(hDevice:HANDLE):ULONG;
  1417.                   APIENTRY;  'KERNEL32' name 'GetTapeStatus';
  1418.        FUNCTION GetTapeParameters(hDevice:HANDLE;dwOperation:ULONG;
  1419.                                   VAR lpdwSize:ULONG;VAR lpTapeInformation):ULONG;
  1420.                   APIENTRY;  'KERNEL32' name 'GetTapeParameters';
  1421.        FUNCTION SetTapeParameters(hDevice:HANDLE;dwOperation:ULONG;
  1422.                                   VAR lpTapeInformation):ULONG;
  1423.                   APIENTRY;  'KERNEL32' name 'SetTapeParameters';
  1424.        FUNCTION Beep(dwFreq,dwDuration:ULONG):BOOL;
  1425.                   APIENTRY;  'KERNEL32' name 'Beep';
  1426.        PROCEDURE OpenSound;
  1427.                   APIENTRY;  'KERNEL32' name 'OpenSound';
  1428.        PROCEDURE CloseSound;
  1429.                   APIENTRY;  'KERNEL32' name 'CloseSound';
  1430.        PROCEDURE StartSound;
  1431.                   APIENTRY;  'KERNEL32' name 'StartSound';
  1432.        PROCEDURE StopSound;
  1433.                   APIENTRY;  'KERNEL32' name 'StopSound';
  1434.        FUNCTION WaitSoundState(nState:ULONG):ULONG;
  1435.                   APIENTRY;  'KERNEL32' name 'WaitSoundState';
  1436.        FUNCTION SyncAllVoices:ULONG;
  1437.                   APIENTRY;  'KERNEL32' name 'SyncAllVoices';
  1438.        FUNCTION CountVoiceNotes(nVoice:ULONG):ULONG;
  1439.                   APIENTRY;  'KERNEL32' name 'CountVoiceNotes';
  1440.        FUNCTION GetThresholdEvent:LPDWORD;
  1441.                   APIENTRY;  'KERNEL32' name 'GetThresholdEvent';
  1442.        FUNCTION GetThresholdStatus:ULONG;
  1443.                   APIENTRY;  'KERNEL32' name 'GetThresholdStatus';
  1444.        FUNCTION SetSoundNoise(nSource,nDuration:ULONG):ULONG;
  1445.                   APIENTRY;  'KERNEL32' name 'SetSoundNoise';
  1446.        FUNCTION SetVoiceAccent(nVoice,nTempo,nVolume,nMode,nPitch:ULONG):ULONG;
  1447.                   APIENTRY;  'KERNEL32' name 'SetVoiceAccent';
  1448.        FUNCTION SetVoiceEnvelope(nVoice,nShape,nRepeat:ULONG):ULONG;
  1449.                   APIENTRY;  'KERNEL32' name 'SetVoiceEnvelope';
  1450.        FUNCTION SetVoiceNote(nVoice,nValue,nLength,nCdots:ULONG):ULONG;
  1451.                   APIENTRY;  'KERNEL32' name 'SetVoiceNote';
  1452.        FUNCTION SetVoiceQueueSize(nVoice,nBytes:ULONG):ULONG;
  1453.                   APIENTRY;  'KERNEL32' name 'SetVoiceQueueSize';
  1454.        FUNCTION SetVoiceSound(nVoice,Frequency,nDuration:ULONG):ULONG;
  1455.                   APIENTRY;  'KERNEL32' name 'SetVoiceSound';
  1456.        FUNCTION SetVoiceThreshold(nVoice,nNotes:ULONG):ULONG;
  1457.                   APIENTRY;  'KERNEL32' name 'SetVoiceThreshold';
  1458.        FUNCTION MulDiv(nNumber,nNumerator,nDenominator:LONGINT):LONGINT;
  1459.                   APIENTRY;  'KERNEL32' name 'MulDiv';
  1460.        PROCEDURE GetSystemTime(VAR lpSystemTime:SYSTEMTIME);
  1461.                   APIENTRY;  'KERNEL32' name 'GetSystemTime';
  1462.        FUNCTION SetSystemTime(CONST lpSystemTime:SYSTEMTIME):BOOL;
  1463.                   APIENTRY;  'KERNEL32' name 'SetSystemTime';
  1464.        PROCEDURE GetLocalTime(VAR lpSystemTime:SYSTEMTIME);
  1465.                   APIENTRY;  'KERNEL32' name 'GetLocalTime';
  1466.        FUNCTION SetLocalTime(CONST lpSystemTime:SYSTEMTIME):BOOL;
  1467.                   APIENTRY;  'KERNEL32' name 'SetLocalTime';
  1468.        PROCEDURE GetSystemInfo(VAR lpSystemInfo:SYSTEM_INFO);
  1469.                   APIENTRY;  'KERNEL32' name 'GetSystemInfo';
  1470.        FUNCTION SystemTimeToTzSpecificLocalTime(VAR lpTimeZoneInfo:TIME_ZONE_INFORMATION;
  1471.                         VAR lpUniversalTime,lpLocalTime:SYSTEMTIME):BOOL;
  1472.                   APIENTRY;  'KERNEL32' name 'SystemTimeToTzSpecificLocalTime';
  1473.        FUNCTION GetTimeZoneInformation(VAR lpTimeZoneInfo:TIME_ZONE_INFORMATION):ULONG;
  1474.                   APIENTRY;  'KERNEL32' name 'GetTimeZoneInformation';
  1475.        FUNCTION SetTimeZoneInformation(CONST lpTimeZoneInfo:TIME_ZONE_INFORMATION):BOOL;
  1476.                   APIENTRY;  'KERNEL32' name 'SetTimeZoneInformation';
  1477.        FUNCTION SystemTimeToFileTime(CONST lpSystemTime:SYSTEMTIME;
  1478.                                      VAR lpFileTime:FILETIME):BOOL;
  1479.                   APIENTRY;  'KERNEL32' name 'SystemTimeToFileTime';
  1480.        FUNCTION FileTimeToLocalFileTime(CONST lpFileTime:FILETIME;
  1481.                                         VAR lpLocalFileTime:FILETIME):BOOL;
  1482.                   APIENTRY;  'KERNEL32' name 'FileTimeToLocalFileTime';
  1483.        FUNCTION LocalFileTimeToFileTime(CONST lpLocalFileTime:FILETIME;
  1484.                                         VAR lpFileTime:FILETIME):BOOL;
  1485.                   APIENTRY;  'KERNEL32' name 'LocalFileTimeToFileTime';
  1486.        FUNCTION FileTimeToSystemTime(CONST lpFileTime:FILETIME;
  1487.                                      VAR lpSystemTime:SYSTEMTIME):BOOL;
  1488.                   APIENTRY;  'KERNEL32' name 'FileTimeToSystemTime';
  1489.        FUNCTION CompareFileTime(CONST lpFileTime1,lpFileTime2:FILETIME):LONG;
  1490.                   APIENTRY;  'KERNEL32' name 'CompareFileTime';
  1491.        FUNCTION FileTimeToDosDateTime(CONST lpFileTime:FILETIME;
  1492.                                       VAR lpFatDate,lpFatTime:WORD):BOOL;
  1493.                   APIENTRY;  'KERNEL32' name 'FileTimeToDosDateTime';
  1494.        FUNCTION DosDateTimeToFileTime(wFatDate,wFatTime:WORD;VAR lpFileTime:FILETIME):BOOL;
  1495.                   APIENTRY;  'KERNEL32' name 'DosDateTimeToFileTime';
  1496.        FUNCTION GetTickCount:ULONG;
  1497.                   APIENTRY;  'KERNEL32' name 'GetTickCount';
  1498.        FUNCTION SetSystemTimeAdjustment(dwTimeAdjustment:ULONG;
  1499.                                         bTimeAdjustmentDisabled:BOOL):BOOL;
  1500.                   APIENTRY;  'KERNEL32' name 'SetSystemTimeAdjustment';
  1501.        FUNCTION GetSystemTimeAdjustment(VAR lpTimeAdjustment,lpTimeIncrement:ULONG;
  1502.                                         VAR lpTimeAdjustmentDisabled:BOOL):BOOL;
  1503.                   APIENTRY;  'KERNEL32' name 'GetSystemTimeAdjustment';
  1504.        FUNCTION FormatMessage(dwFlags:ULONG;VAR lpSource;
  1505.                               dwMessageId,dwLanguageId:ULONG;
  1506.                               VAR lpBuffer:CSTRING;nSize:ULONG;
  1507.                               Arguments:POINTER):ULONG;
  1508.                   APIENTRY;  'KERNEL32' name 'FormatMessageA';
  1509.        FUNCTION CreatePipe(VAR hReadPipe,hWritePipe:HANDLE;
  1510.                            VAR lpPipeAttributes:SECURITY_ATTRIBUTES;
  1511.                            nSize:ULONG):BOOL;
  1512.                   APIENTRY;  'KERNEL32' name 'CreatePipe';
  1513.        FUNCTION ConnectNamedPipe(hNamedPipe:HANDLE;VAR lpOverlapped:OVERLAPPED):BOOL;
  1514.                   APIENTRY;  'KERNEL32' name 'ConnectNamedPipe';
  1515.        FUNCTION DisconnectNamedPipe(hNamedPipe:HANDLE):BOOL;
  1516.                   APIENTRY;  'KERNEL32' name 'DisconnectNamedPipe';
  1517.        FUNCTION SetNamedPipeHandleState(hNamedPipe:HANDLE;
  1518.                         VAR lpMode,lpMaxCollectionCount:ULONG;
  1519.                         VAR lpCollectDataTimeOut:ULONG):BOOL;
  1520.                   APIENTRY;  'KERNEL32' name 'SetNamedPipeHandleState';
  1521.        FUNCTION GetNamedPipeInfo(hNamedPipe:HANDLE;
  1522.                            VAR lpFlags,lpOutBufferSize:ULONG;
  1523.                            VAR lpInBufferSize,lpMaxInstances:ULONG):BOOL;
  1524.                   APIENTRY;  'KERNEL32' name 'GetNamedPipeInfo';
  1525.        FUNCTION PeekNamedPipe(hNamedPipe:HANDLE;VAR lpBuffer;nBufferSize:ULONG;
  1526.                               VAR lpBytesRead,lpTotalBytesAvail:ULONG;
  1527.                               VAR lpBytesLeftThisMessage:ULONG):BOOL;
  1528.                   APIENTRY;  'KERNEL32' name 'PeekNamedPipe';
  1529.        FUNCTION TransactNamedPipe(hNamedPipe:HANDLE;VAR lpInBuffer;nInBufferSize:ULONG;
  1530.                                   VAR lpOutBuffer;nOutBufferSize:ULONG;
  1531.                                   VAR lpBytesRead:ULONG;
  1532.                                   VAR lpOverlapped:OVERLAPPED):BOOL;
  1533.                   APIENTRY;  'KERNEL32' name 'TransactNamedPipe';
  1534.        FUNCTION CreateMailslot(CONST lpName:CSTRING;nMaxMessageSize:ULONG;
  1535.                                lReadTimeOut:ULONG;
  1536.                                VAR lpSecurityAttributes:SECURITY_ATTRIBUTES):HANDLE;
  1537.                   APIENTRY;  'KERNEL32' name 'CreateMailslotA';
  1538.        FUNCTION GetMailslotInfo(hMailslot:HANDLE;VAR lpMaxMessageSize:ULONG;
  1539.                                 VAR lpNextSize,lpMessageCount:ULONG;
  1540.                                 VAR lpReadTimeout:ULONG):BOOL;
  1541.                   APIENTRY;  'KERNEL32' name 'GetMailslotInfo';
  1542.        FUNCTION SetMailslotInfo(hMailslot:HANDLE;lReadTimeOut:ULONG):BOOL;
  1543.                   APIENTRY;  'KERNEL32' name 'SetMailslotInfo';
  1544.        FUNCTION MapViewOfFile(hFileMappingObject:HANDLE;dwDesiredAccess:ULONG;
  1545.                               dwFileOffsetHigh,dwFileOffsetLow:ULONG;
  1546.                               dwNumberOfBytesToMap:ULONG):POINTER;
  1547.                   APIENTRY;  'KERNEL32' name 'MapViewOfFile';
  1548.        FUNCTION FlushViewOfFile(lpBasAddress:POINTER;dwNumberOfBytesToFlush:ULONG):BOOL;
  1549.                   APIENTRY;  'KERNEL32' name 'FlushViewOfFile';
  1550.        FUNCTION UnmapViewOfFile(lpBaseAddress:POINTER):BOOL;
  1551.                   APIENTRY;  'KERNEL32' name 'UnmapViewOfFile';
  1552.        FUNCTION lstrcmp(CONST lpString1,lpString2:CSTRING):LONGINT;
  1553.                   APIENTRY;  'KERNEL32' name 'lstrcmpA';
  1554.        FUNCTION lstrcmpi(CONST lpString1,lpString2:CSTRING):LONGINT;
  1555.                   APIENTRY;  'KERNEL32' name 'lstrcmpiA';
  1556.        FUNCTION lstrcpyn(VAR lpString1:CSTRING;CONST lpString2:CSTRING;
  1557.                          iMaxLength:LONGINT):PChar;
  1558.                   APIENTRY;  'KERNEL32' name 'lstrcpynA';
  1559.        FUNCTION lstrcpy(VAR lpString1:CSTRING;CONST lpString2:CSTRING):PChar;
  1560.                   APIENTRY;  'KERNEL32' name 'lstrcpyA';
  1561.        FUNCTION lstrcat(VAR lpString1:CSTRING;CONST lpString2:CSTRING):PChar;
  1562.                   APIENTRY;  'KERNEL32' name 'lstrcatA';
  1563.        FUNCTION lstrlen(CONST lpString:CSTRING):LONGINT;
  1564.                   APIENTRY;  'KERNEL32' name 'lstrlenA';
  1565.        FUNCTION OpenFile(CONST lpFileName:CSTRING;VAR lpReOpenBuf:OFSTRUCT;
  1566.                          uStyle:ULONG):HFILE;
  1567.                   APIENTRY;  'KERNEL32' name 'OpenFile';
  1568.        FUNCTION _lopen(CONST lpPathName:CSTRING;iReadWrite:LONGINT):HFILE;
  1569.                   APIENTRY;  'KERNEL32' name '_lopen';
  1570.        FUNCTION _lcreat(CONST lpPathName:CSTRING;iAttribute:LONGINT):HFILE;
  1571.                   APIENTRY;  'KERNEL32' name '_lcreat';
  1572.        FUNCTION _lread(ahFile:HFILE;VAR lpBuffer;uBytes:ULONG):ULONG;
  1573.                   APIENTRY;  'KERNEL32' name '_lread';
  1574.        FUNCTION _lwrite(ahFile:HFILE;CONST Buffer;uBytes:ULONG):ULONG;
  1575.                   APIENTRY;  'KERNEL32' name '_lwrite';
  1576.        FUNCTION _hread(ahFile:HFILE;VAR lpBuffer;lBytes:LONGINT):LONGINT;
  1577.                   APIENTRY;  'KERNEL32' name '_hread';
  1578.        FUNCTION _hwrite(ahFile:HFILE;CONST lpBuffer;lBytes:LONGINT):LONGINT;
  1579.                   APIENTRY;  'KERNEL32' name '_hwrite';
  1580.        FUNCTION _lclose(ahFile:HFILE):HFILE;
  1581.                   APIENTRY;  'KERNEL32' name '_lclose';
  1582.        FUNCTION _llseek(ahFile:HFILE;lOffset:LONG;iOrigin:LONGINT):LONG;
  1583.                   APIENTRY;  'KERNEL32' name '_llseek';
  1584.        FUNCTION IsTextUnicode(CONST lpBuffer;cb:LONGINT;VAR lpi:LONGINT):BOOL;
  1585.                   APIENTRY;  'KERNEL32' name 'IsTextUnicode';
  1586.        FUNCTION TlsAlloc:ULONG;
  1587.                   APIENTRY;  'KERNEL32' name 'TlsAlloc';
  1588.        FUNCTION TlsGetValue(dwTlsIndex:ULONG):POINTER;
  1589.                   APIENTRY;  'KERNEL32' name 'TlsGetValue';
  1590.        FUNCTION TlsSetValue(dwTlsIndex:ULONG;lpTlsValue:POINTER):BOOL;
  1591.                   APIENTRY;  'KERNEL32' name 'TlsSetValue';
  1592.        FUNCTION TlsFree(dwTlsIndex:ULONG):BOOL;
  1593.                   APIENTRY;  'KERNEL32' name 'TlsFree';
  1594.        FUNCTION SleepEx(dwMilliseconds:ULONG;bAlertable:BOOL):ULONG;
  1595.                   APIENTRY;  'KERNEL32' name 'SleepEx';
  1596.        FUNCTION WaitForSingleObjectEx(hHandle:HANDLE;dwMillieconds:ULONG;
  1597.                                       bAlertable:BOOL):ULONG;
  1598.                   APIENTRY;  'KERNEL32' name 'WaitForSingleObjectEx';
  1599.        FUNCTION WaitForMultipleObjectsEx(nCount:ULONG;VAR lpHandles:HANDLE;
  1600.                                          bWaitAll:BOOL;dwMilliseconds:ULONG;
  1601.                                          bAlertable:BOOL):ULONG;
  1602.                   APIENTRY;  'KERNEL32' name 'WaitForMultipleObjectsEx';
  1603.        FUNCTION ReadFileEx(hFile:HANDLE;VAR lpBuffer;nNumberOfBytesToRead:ULONG;
  1604.                            VAR lpOverlapped:OVERLAPPED;
  1605.                            lpCompletionRoutine:LPOVERLAPPED_COMPLETION_ROUTINE):BOOL;
  1606.                   APIENTRY;  'KERNEL32' name 'ReadFileEx';
  1607.        FUNCTION WriteFileEx(hFile:HANDLE;CONST lpBuffer;nNumberOfBytesToWrite:ULONG;
  1608.                             VAR lpOverlapped:OVERLAPPED;
  1609.                             lpCompletionRoutine:LPOVERLAPPED_COMPLETION_ROUTINE):BOOL;
  1610.                   APIENTRY;  'KERNEL32' name 'WriteFileEx';
  1611.        FUNCTION BackupRead(hFile:HANDLE;VAR lpBuffer;nNumberOfBytesToRead:ULONG;
  1612.                            VAR lpNumberOfBytesRead:ULONG;bAbort:BOOL;
  1613.                            bProcessSecurity:BOOL;VAR lpContext:POINTER):BOOL;
  1614.                   APIENTRY;  'KERNEL32' name 'BackupRead';
  1615.        FUNCTION BackupSeek(hFile:HANDLE;dwLowBytesToSeek,dwHighBytesToSeek:ULONG;
  1616.                            VAR lpdwLowByteSeeked,lpdwHighByteSeeked:ULONG;
  1617.                            VAR lpContext:POINTER):BOOL;
  1618.                   APIENTRY;  'KERNEL32' name 'BackupSeek';
  1619.        FUNCTION BackupWrite(hFile:HANDLE;VAR lpBuffer;nNumberOfBytesToWrite:ULONG;
  1620.                             VAR lpNumberOfBytesWritten:ULONG;bAbort:BOOL;
  1621.                             bProcessSecurity:BOOL;VAR lpContext:POINTER):BOOL;
  1622.                   APIENTRY;  'KERNEL32' name 'BackupWrite';
  1623.        FUNCTION CreateMutex(VAR lpMutexAttributes:SECURITY_ATTRIBUTES;
  1624.                             bInitialOwner:BOOL;CONST lpName:CSTRING):HANDLE;
  1625.                   APIENTRY;  'KERNEL32' name 'CreateMutexA';
  1626.        FUNCTION OpenMutex(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  1627.                           CONST lpName:CSTRING):HANDLE;
  1628.                   APIENTRY;  'KERNEL32' name 'OpenMutexA';
  1629.        FUNCTION CreateEvent(VAR lpEventAttributes:SECURITY_ATTRIBUTES;
  1630.                             bManualReset,bInitialState:BOOL;
  1631.                             CONST lpName:CSTRING):HANDLE;
  1632.                   APIENTRY;  'KERNEL32' name 'CreateEventA';
  1633.        FUNCTION OpenEvent(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  1634.                           CONST lpName:CSTRING):HANDLE;
  1635.                   APIENTRY;  'KERNEL32' name 'OpenEventA';
  1636.        FUNCTION CreateSemaphore(VAR lpSemaphoreAttributes:SECURITY_ATTRIBUTES;
  1637.                                 lInitialCount,lMaximumCount:LONG;
  1638.                                 CONST lpName:CSTRING):HANDLE;
  1639.                   APIENTRY;  'KERNEL32' name 'CreateSemaphoreA';
  1640.        FUNCTION OpenSemaphore(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  1641.                               CONST lpName:CSTRING):HANDLE;
  1642.                   APIENTRY;  'KERNEL32' name 'OpenSemaphoreA';
  1643.        FUNCTION CreateFileMapping(hFile:HANDLE;
  1644.                                   VAR lpFileMappingAttributes:SECURITY_ATTRIBUTES;
  1645.                                   flProtect,dwMaximumSizeHigh,dwMaximumSizeLow:ULONG;
  1646.                                   CONST lpName:CSTRING):HANDLE;
  1647.                   APIENTRY;  'KERNEL32' name 'CreateFileMappingA';
  1648.        FUNCTION OpenFileMapping(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  1649.                                 CONST lpName:CSTRING):HANDLE;
  1650.                   APIENTRY;  'KERNEL32' name 'OpenFileMappingA';
  1651.        FUNCTION GetLogicalDriveStrings(nBufferLength:ULONG;
  1652.                                        VAR lpBuffer:CSTRING):ULONG;
  1653.                   APIENTRY;  'KERNEL32' name 'GetLogicalDriveStringsA';
  1654.        FUNCTION LoadLibrary(CONST lpLibFileName:CSTRING):HINSTANCE;
  1655.                   APIENTRY;  'KERNEL32' name 'LoadLibraryA';
  1656.        FUNCTION LoadLibraryEx(CONST lpLibFileName:CSTRING;hFile:HANDLE;
  1657.                               dwFlags:ULONG):HINSTANCE;
  1658.                   APIENTRY;  'KERNEL32' name 'LoadLibraryExA';
  1659.        FUNCTION GetModuleFileName(hModule:HINSTANCE;VAR lpFileName;
  1660.                                   nSize:ULONG):ULONG;
  1661.                   APIENTRY;  'KERNEL32' name 'GetModuleFileNameA';
  1662.        FUNCTION GetModuleHandle(CONST lpModuleName:CSTRING):HMODULE;
  1663.                   APIENTRY;  'KERNEL32' name 'GetModuleHandleA';
  1664.        FUNCTION CreateProcess(CONST lpApplicationName:CSTRING;VAR lpCommandLine:CSTRING;
  1665.                               VAR lpProcessAttributes,lpThreadAttributes:SECURITY_ATTRIBUTES;
  1666.                               bInheritHandles:BOOL;dwCreationFlags:ULONG;
  1667.                               lpEnvironment:POINTER;CONST lpCurrentDir:CSTRING;
  1668.                               VAR lpStartupInfo:STARTUPINFO;
  1669.                               VAR lpProcessInformation:PROCESS_INFORMATION):BOOL;
  1670.                   APIENTRY;  'KERNEL32' name 'CreateProcessA';
  1671.        FUNCTION SetProcessShutdownParameters(dwLevel,dwFlags:ULONG):BOOL;
  1672.                   APIENTRY;  'KERNEL32' name 'SetProcessShutdownParameters';
  1673.        FUNCTION GetProcessShutdownParameters(VAR lpdwLevel,lpdwFlags:ULONG):BOOL;
  1674.                   APIENTRY;  'KERNEL32' name 'GetProcessShutdownParameters';
  1675.        PROCEDURE FatalAppExit(uAction:ULONG;CONST lpMessageText:CSTRING);
  1676.                   APIENTRY;  'KERNEL32' name 'FatalAppExitA';
  1677.        PROCEDURE GetStartupInfo(VAR lpStartupInfo:STARTUPINFO);
  1678.                   APIENTRY;  'KERNEL32' name 'GetStartupInfoA';
  1679.        FUNCTION GetCommandLine:PChar;
  1680.                   APIENTRY;  'KERNEL32' name 'GetCommandLineA';
  1681.        FUNCTION GetEnvironmentVariable(CONST lpName:CSTRING;VAR lpBuffer:CSTRING;
  1682.                                        nSize:ULONG):ULONG;
  1683.                   APIENTRY;  'KERNEL32' name 'GetEnvironmentVariableA';
  1684.        FUNCTION SetEnvironmentVariable(CONST lpName,lpValue:CSTRING):BOOL;
  1685.                   APIENTRY;  'KERNEL32' name 'SetEnvironmentVariableA';
  1686.        FUNCTION ExpandEnvironmentStrings(CONST lpSrc:CSTRING;VAR lpDst:CSTRING;
  1687.                                          nSize:ULONG):ULONG;
  1688.                   APIENTRY;  'KERNEL32' name 'ExpandEnvironmentStringsA';
  1689.        PROCEDURE OutputDebugString(CONST lpOutputString:CSTRING);
  1690.                   APIENTRY;  'KERNEL32' name 'OutputDebugStringA';
  1691.        FUNCTION FindResource(hModule:HINSTANCE;CONST lpName,lpType:CSTRING):HRSRC;
  1692.                   APIENTRY;  'KERNEL32' name 'FindResourceA';
  1693.        FUNCTION FindResourceEx(hModule:HINSTANCE;CONST lpType,lpName:CSTRING;
  1694.                                wLanguage:WORD):HRSRC;
  1695.                   APIENTRY;  'KERNEL32' name 'FindResourceExA';
  1696.        FUNCTION EnumResourceTypes(hModule:HINSTANCE;lpEnumFunc:ENUMRESTYPEPROC;
  1697.                                   lParam:LONG):BOOL;
  1698.                   APIENTRY;  'KERNEL32' name 'EnumResourceTypesA';
  1699.        FUNCTION EnumResourceNames(hModule:HINSTANCE;CONST lpType:CSTRING;
  1700.                                   lpEnumFunc:ENUMRESNAMEPROC;lParam:LONG):BOOL;
  1701.                   APIENTRY;  'KERNEL32' name 'EnumResourceNamesA';
  1702.        FUNCTION EnumResourceLanguages(hModule:HINSTANCE;CONST lpType,lpName:CSTRING;
  1703.                                       lpEnumFunc:ENUMRESLANGPROC;lParam:LONG):BOOL;
  1704.                   APIENTRY;  'KERNEL32' name 'EnumResourceLanguagesA';
  1705.        FUNCTION BeginUpdateResource(CONST pFileName:CSTRING;
  1706.                                     bDeleteExistingResources:BOOL):HANDLE;
  1707.                   APIENTRY;  'KERNEL32' name 'BeginUpdateResourceA';
  1708.        FUNCTION UpdateResource(hUpdate:HANDLE;CONST lpType,lpName:CSTRING;
  1709.                                wLanguage:WORD;lpData:POINTER;
  1710.                                cbData:ULONG):BOOL;
  1711.                   APIENTRY;  'KERNEL32' name 'UpdateResourceA';
  1712.        FUNCTION EndUpdateResource(hUpdate:HANDLE;fDiscard:BOOL):BOOL;
  1713.                   APIENTRY;  'KERNEL32' name 'EndUpdateResourceA';
  1714.        FUNCTION GlobalAddAtom(CONST lpString:CSTRING):ATOM;
  1715.                   APIENTRY;  'KERNEL32' name 'GlobalAddAtomA';
  1716.        FUNCTION GlobalFindAtom(CONST lpString:CSTRING):ATOM;
  1717.                   APIENTRY;  'KERNEL32' name 'GlobalFindAtomA';
  1718.        FUNCTION GlobalGetAtomName(nAtom:ATOM;VAR lpBuffer:CSTRING;
  1719.                                   nSize:LONGINT):ULONG;
  1720.                   APIENTRY;  'KERNEL32' name 'GlobalGetAtomNameA';
  1721.        FUNCTION AddAtom(CONST lpString:CSTRING):ATOM;
  1722.                   APIENTRY;  'KERNEL32' name 'AddAtomA';
  1723.        FUNCTION FindAtom(CONST lpString:CSTRING):ATOM;
  1724.                   APIENTRY;  'KERNEL32' name 'FindAtomA';
  1725.        FUNCTION GetAtomName(nAtom:ATOM;VAR lpBuffer:CSTRING;nSize:LONG):ULONG;
  1726.                   APIENTRY;  'KERNEL32' name 'GetAtomNameA';
  1727.        FUNCTION GetProfileInt(CONST lpAppName,lpKeyName:CSTRING;
  1728.                               nDefault:LONGINT):ULONG;
  1729.                   APIENTRY;  'KERNEL32' name 'GetProfileIntA';
  1730.        FUNCTION GetProfileString(CONST lpAppName,lpKeyName,lpDefault:CSTRING;
  1731.                                  VAR lpReturnedString:CSTRING;nSize:ULONG):ULONG;
  1732.                   APIENTRY;  'KERNEL32' name 'GetProfileStringA';
  1733.        FUNCTION WriteProfileString(CONST lpAppName,lpKeyName,lpString:CSTRING):BOOL;
  1734.                   APIENTRY;  'KERNEL32' name 'WriteProfileStringA';
  1735.        FUNCTION GetProfileSection(CONST lpAppName:CSTRING;VAR lpReturnedString:CSTRING;
  1736.                                   nSize:ULONG):ULONG;
  1737.                   APIENTRY;  'KERNEL32' name 'GetProfileSectionA';
  1738.        FUNCTION WriteProfileSection(CONST lpAppName,lpString:CSTRING):BOOL;
  1739.                   APIENTRY;  'KERNEL32' name 'WriteProfileSectionA';
  1740.        FUNCTION GetPrivateProfileInt(CONST lpAppName,lpKeyName:CSTRING;
  1741.                                      nDefault:LONGINT;CONST lpFileName:CSTRING):ULONG;
  1742.                   APIENTRY;  'KERNEL32' name 'GetPrivateProfileIntA';
  1743.        FUNCTION GetPrivateProfileString(CONST lpAppName,lpKeyName:CSTRING;
  1744.                                         CONST lpDefault:CSTRING;
  1745.                                         VAR lpReturnedString:CSTRING;
  1746.                                         nSize:ULONG;CONST lpFileName:CSTRING):ULONG;
  1747.                   APIENTRY;  'KERNEL32' name 'GetPrivateProfileStringA';
  1748.        FUNCTION WritePrivateProfileString(CONST lpAppName,lpKeyName:CSTRING;
  1749.                                           CONST lpString,lpFileName:CSTRING):BOOL;
  1750.                   APIENTRY;  'KERNEL32' name 'WritePrivateProfileStringA';
  1751.        FUNCTION GetPrivateProfileSection(CONST lpAppName:CSTRING;
  1752.                                          VAR lpReturnedString:CSTRING;
  1753.                                          nSize:ULONG;CONST lpFileName:CSTRING):ULONG;
  1754.                   APIENTRY;  'KERNEL32' name 'GetPrivateProfileSectionA';
  1755.        FUNCTION WritePrivateProfileSection(CONST lpAppName,lpString:CSTRING;
  1756.                                            CONST lpFileName:CSTRING):BOOL;
  1757.                   APIENTRY;  'KERNEL32' name 'WritePrivateProfileSectionA';
  1758.        FUNCTION GetDriveType(CONST lpRootPathName:CSTRING):ULONG;
  1759.                   APIENTRY;  'KERNEL32' name 'GetDriveTypeA';
  1760.        FUNCTION GetSystemDirectory(VAR lpBuffer:CSTRING;uSize:ULONG):ULONG;
  1761.                   APIENTRY;  'KERNEL32' name 'GetSystemDirectoryA';
  1762.        FUNCTION GetTempPath(nBufferLength:ULONG;VAR lpBuffer:CSTRING):ULONG;
  1763.                   APIENTRY;  'KERNEL32' name 'GetTempPathA';
  1764.        FUNCTION GetTempFileName(CONST lpPathName,lpPrefixString:CSTRING;
  1765.                                 uUnique:ULONG;VAR lpTempFileName:CSTRING):ULONG;
  1766.                   APIENTRY;  'KERNEL32' name 'GetTempFileNameA';
  1767.        FUNCTION GetWindowsDirectory(VAR lpBuffer:CSTRING;uSize:ULONG):ULONG;
  1768.                   APIENTRY;  'KERNEL32' name 'GetWindowsDirectoryA';
  1769.        FUNCTION SetCurrentDirectory(CONST lpPathName:CSTRING):BOOL;
  1770.                   APIENTRY;  'KERNEL32' name 'SetCurrentDirectoryA';
  1771.        FUNCTION GetCurrentDirectory(nBufferLength:ULONG;VAR lpBuffer):ULONG;
  1772.                   APIENTRY;  'KERNEL32' name 'GetCurrentDirectoryA';
  1773.        FUNCTION GetDiskFreeSpace(CONST lpRootPathName:CSTRING;
  1774.                                  VAR lpSectorsPerCluster,lpBytesPerSector:ULONG;
  1775.                                  VAR lpNumberOfFreeClusters,lpTotalClusters:ULONG):BOOL;
  1776.                   APIENTRY;  'KERNEL32' name 'GetDiskFreeSpaceA';
  1777.        FUNCTION CreateDirectory(CONST lpPathName:CSTRING;
  1778.                                 VAR lpSecurityAttributes:SECURITY_ATTRIBUTES):BOOL;
  1779.                   APIENTRY;  'KERNEL32' name 'CreateDirectoryA';
  1780.        FUNCTION CreateDirectoryEx(CONST lpTemplateDir,lpNewDir:CSTRING;
  1781.                                   VAR lpSecurityAttribtes:SECURITY_ATTRIBUTES):BOOL;
  1782.                   APIENTRY;  'KERNEL32' name 'CreateDirectoryExA';
  1783.        FUNCTION RemoveDirectory(CONST lpPathName:CSTRING):BOOL;
  1784.                   APIENTRY;  'KERNEL32' name 'RemoveDirectoryA';
  1785.        FUNCTION GetFullPathName(CONST lpFileName:CSTRING;nBufferLength:ULONG;
  1786.                                 VAR lpBuffer;VAR lpFilePart:PChar):ULONG;
  1787.                   APIENTRY;  'KERNEL32' name 'GetFullPathNameA';
  1788.        FUNCTION DefineDosDevice(dwFlags:ULONG;CONST lpDeviceName:CSTRING;
  1789.                                 CONST lpTargetPath:CSTRING):BOOL;
  1790.                   APIENTRY;  'KERNEL32' name 'DefineDosDeviceA';
  1791.        FUNCTION QueryDosDevice(CONST lpDeviceName:CSTRING;VAR lpTargetPath:CSTRING;
  1792.                                ucchMax:ULONG):ULONG;
  1793.                   APIENTRY;  'KERNEL32' name 'QueryDosDeviceA';
  1794.        FUNCTION CreateFile(CONST lpFileName:CSTRING;dwDesiredAccess:ULONG;
  1795.                            dwShareMode:ULONG;VAR lpSecurityAttributes:SECURITY_ATTRIBUTES;
  1796.                            deCreationDisposition,dwFlagsAndAttributes:ULONG;
  1797.                            hTemplateFile:HANDLE):HANDLE;
  1798.                   APIENTRY;  'KERNEL32' name 'CreateFileA';
  1799.        FUNCTION SetFileAttributes(CONST lpFileName:CSTRING;
  1800.                                   dwFileAttributes:ULONG):BOOL;
  1801.                   APIENTRY;  'KERNEL32' name 'SetFileAttributesA';
  1802.        FUNCTION GetFileAttributes(CONST lpFileName:CSTRING):ULONG;
  1803.                   APIENTRY;  'KERNEL32' name 'GetFileAttributesA';
  1804.        FUNCTION GetCompressedFileSize(CONST lpFileName:CSTRING;
  1805.                                       VAR lpFileSizeHigh:ULONG):ULONG;
  1806.                   APIENTRY;  'KERNEL32' name 'GetCompressedFileSizeA';
  1807.        FUNCTION DeleteFile(CONST lpFileName:CSTRING):BOOL;
  1808.                   APIENTRY;  'KERNEL32' name 'DeleteFileA';
  1809.        FUNCTION FindFirstFile(CONST lpFileName:CSTRING;
  1810.                               VAR lpFindFileData:WIN32_FIND_DATA):HANDLE;
  1811.                   APIENTRY;  'KERNEL32' name 'FindFirstFileA';
  1812.        FUNCTION FindNextFile(hFindFile:HANDLE;
  1813.                              VAR lpFindFileData:WIN32_FIND_DATA):BOOL;
  1814.                   APIENTRY;  'KERNEL32' name 'FindNextFileA';
  1815.        FUNCTION SearchPath(CONST lpPath,lpFileName,lpExtension:CSTRING;
  1816.                            nBufferLength:ULONG;VAR lpBuffer:CSTRING;
  1817.                            VAR lpFilePart:PChar):ULONG;
  1818.                   APIENTRY;  'KERNEL32' name 'SearchPathA';
  1819.        FUNCTION CopyFile(CONST lpExistingFileName,lpNewFileName:CSTRING;
  1820.                          bFailIfExists:BOOL):BOOL;
  1821.                   APIENTRY;  'KERNEL32' name 'CopyFileA';
  1822.        FUNCTION MoveFile(CONST lpExistingFileName,lpNewFileName:CSTRING):BOOL;
  1823.                   APIENTRY;  'KERNEL32' name 'MoveFileA';
  1824.        FUNCTION MoveFileEx(CONST lpExistingFileName,lpNewFileName:CSTRING;
  1825.                            dwFlags:ULONG):BOOL;
  1826.                   APIENTRY;  'KERNEL32' name 'MoveFileExA';
  1827.        FUNCTION CreateNamedPipe(CONST lpName:CSTRING;dwOpenMode:ULONG;
  1828.                                 dwPipeMode,nMaxInstances,nOutBufferSize:ULONG;
  1829.                                 nInBufferSize,nDefaultTimeOut:ULONG;
  1830.                                 VAR lpSecurityAttributes:SECURITY_ATTRIBUTES):HANDLE;
  1831.                   APIENTRY;  'KERNEL32' name 'CreateNamedPipeA';
  1832.        FUNCTION GetNamedPipeHandleState(hNamedPipe:HANDLE;VAR lpState:ULONG;
  1833.                               VAR lpCurInstances,lpMaxCollectionCount:ULONG;
  1834.                               VAR lpCollectDataTimeOut:ULONG;
  1835.                               VAR lpUserName:CSTRING;nMaxUserNameSize:ULONG):BOOL;
  1836.                   APIENTRY;  'KERNEL32' name 'GetNamedPipeHandleStateA';
  1837.        FUNCTION CallNamedPipe(CONST lpNamedPipeName:CSTRING;
  1838.                               VAR lpInBuffer;nInBufferSize:ULONG;
  1839.                               VAR lpOutBuffer;nOutBufferSize:ULONG;
  1840.                               VAR lpBytesRead:ULONG;nTimeOut:ULONG):BOOL;
  1841.                   APIENTRY;  'KERNEL32' name 'CallNamedPipeA';
  1842.        FUNCTION WaitNamedPipe(CONST lpNamedPipeName:CSTRING;
  1843.                               nTimeOut:ULONG):BOOL;
  1844.                   APIENTRY;  'KERNEL32' name 'WaitNamedPipeA';
  1845.        FUNCTION SetVolumeLabel(CONST lpRootPathName,lpVolumeName:CSTRING):BOOL;
  1846.                   APIENTRY;  'KERNEL32' name 'SetVolumeLabelA';
  1847.        PROCEDURE SetFileApisToOEM;
  1848.                   APIENTRY;  'KERNEL32' name 'SetFileApisToOEM';
  1849.        PROCEDURE SetFileApisToANSI;
  1850.                   APIENTRY;  'KERNEL32' name 'SetFileApisToANSI';
  1851.        FUNCTION AreFileApisANSI:BOOL;
  1852.                   APIENTRY;  'KERNEL32' name 'AreFileApisANSI';
  1853.        FUNCTION GetVolumeInformation(CONST lpRootPathName:CSTRING;
  1854.                                      VAR lpVolumeNameBuffer:CSTRING;
  1855.                                      nVolumeNameSize:ULONG;
  1856.                                      VAR lpVolumeSerialNumber:ULONG;
  1857.                                      VAR lpMaximumComponentLength:ULONG;
  1858.                                      VAR lpFileSystemFlags:ULONG;
  1859.                                      VAR lpFileSystemNameBuffer:CSTRING;
  1860.                                      nFileSystemNameSize:ULONG):BOOL;
  1861.                   APIENTRY;  'KERNEL32' name 'GetVolumeInformationA';
  1862.        FUNCTION ClearEventLog(hEventLog:HANDLE;CONST lpBackupFileName:CSTRING):BOOL;
  1863.                   APIENTRY;  'KERNEL32' name 'ClearEventLogA';
  1864.        FUNCTION BackupEventLog(hEventLog:HANDLE;CONST lpBackupFileName:CSTRING):BOOL;
  1865.                   APIENTRY;  'KERNEL32' name 'BackupEventLogA';
  1866.        FUNCTION CloseEventLog(hEventLog:HANDLE):BOOL;
  1867.                   APIENTRY;  'KERNEL32' name 'CloseEventLog';
  1868.        FUNCTION DeregisterEventSource(hEventLog:HANDLE):BOOL;
  1869.                   APIENTRY;  'KERNEL32' name 'DeregisterEventSource';
  1870.        FUNCTION NotifyChangeEventLog(hEventLog,hEvent:HANDLE):BOOL;
  1871.                   APIENTRY;  'KERNEL32' name 'NotifyChangeEventLog';
  1872.        FUNCTION GetNumberOfEventLogRecords(hEventLog:HANDLE;VAR NumberOfRecords:WORD):BOOL;
  1873.                   APIENTRY;  'KERNEL32' name 'GetNumberOfEventLogRecords';
  1874.        FUNCTION GetOldestEventLogRecord(hEventLog:HANDLE;VAR OldestRecord:ULONG):BOOL;
  1875.                   APIENTRY;  'KERNEL32' name 'GetOldestEventLogRecord';
  1876.        FUNCTION OpenEventLog(CONST lpUNCServerName:CSTRING;
  1877.                              CONST lpSourceName:CSTRING):HANDLE;
  1878.                   APIENTRY;  'KERNEL32' name 'OpenEventLogA';
  1879.        FUNCTION RegisterEventSource(CONST lpUNCServerName:CSTRING;
  1880.                                     CONST lpSourceName:CSTRING):HANDLE;
  1881.                   APIENTRY;  'KERNEL32' name 'RegisterEventSourceA';
  1882.        FUNCTION OpenBackupEventLog(CONST lpUNCServerName:CSTRING;
  1883.                                    CONST lpFileName:CSTRING):HANDLE;
  1884.                   APIENTRY;  'KERNEL32' name 'OpenBackupEventLogA';
  1885.        FUNCTION ReadEventLog(hEventLog:HANDLE;dwReadFlags,dwRecordOffset:ULONG;
  1886.                              VAR lpBuffer;nNumberOfBytesToRead:ULONG;
  1887.                              VAR pnBytesRead,pnMinNumberOfBytesNeeded:ULONG):BOOL;
  1888.                   APIENTRY;  'KERNEL32' name 'ReadEventLogA';
  1889.        {FUNCTION ReportEvent(hEventLog:HANDLE;wType,wCategory:WORD;
  1890.                             dwEventID:ULONG;VAR lpUserSid:SID;
  1891.                             wNumStrings:WORD;VAR lpStrings:PChar;
  1892.                             VAR lpRawData):BOOL;
  1893.                   APIENTRY;  'KERNEL32' name 'ReportEventA';
  1894.        FUNCTION DuplicateToken(ExistingTokenHandle:HANDLE;
  1895.                                Impoersonation_Level:SECURITY_IMPERSONATION_LEVEL;
  1896.                                VAR DuplicateTokenHandle:HANDLE):BOOL;
  1897.                   APIENTRY;  'KERNEL32' name 'DuplicateToken';
  1898.        FUNCTION GetKernelObjectSecurity(Handle:HANDLE;Requested_Information:SECURITY_INFORMATION;
  1899.                                         VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  1900.                                         nLength:ULONG;VAR lpnLengthNeeded:ULONG):BOOL;
  1901.                   APIENTRY;  'KERNEL32' name 'GetKernelObjectSecurity';
  1902.        FUNCTION ImpersonateNamedPipeClient(hNamedPipe:HANDLE):BOOL;
  1903.                   APIENTRY;  'KERNEL32' name 'ImpersonateNamedPipeClient';
  1904.        FUNCTION ImpersonateSelf(ImpoersonationLevel:SECURITY_IMPOERSONATION_LEVEL):BOOL;
  1905.                   APIENTRY;  'KERNEL32' name 'ImpersonateSelf';
  1906.        FUNCTION RevertToSelf:BOOL;
  1907.                   APIENTRY;  'KERNEL32' name 'RevertToSelf';
  1908.        FUNCTION SetThreadToken(VAR Thread:HANDLE;Token:HANDLE):BOOL;
  1909.                   APIENTRY;  'KERNEL32' name 'SetThreadToken';
  1910.        FUNCTION AccessCheck(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  1911.                             ClientToken:HANDLE;DesiredAccess:ULONG;
  1912.                             VAR GenericMapping:GENERIC_MAPPING;
  1913.                             VAR PrivilegeSet:PRIVILEGE_SET;
  1914.                             VAR PrivilegeSetLength:ULONG;
  1915.                             VAR GrantedAccess:ULONG;VAR AccessStatus:BOOL):BOOL;
  1916.                   APIENTRY;  'KERNEL32' name 'AccessCheck';
  1917.        FUNCTION OpenProcessToken(ProcessHandle:HANDLE;DesiredAccess:ULONG;
  1918.                                  VAR TokenHandle:HANDLE):BOOL;
  1919.                   APIENTRY;  'KERNEL32' name 'OpenProcessToken';
  1920.        FUNCTION OpenThreadToken(ThreadHandle:HANDLE;DesiredAccess:ULONG;
  1921.                                 OpenAsSelf:BOOL;VAR TokenHandle:HANDLE):BOOL;
  1922.                   APIENTRY;  'KERNEL32' name 'OpenThreadToken';
  1923.        FUNCTION GetTokenInformation(TokenHandle:HANDLE;
  1924.                                TokenInformationClass:TOKEN_INFORMATION_CLASS;
  1925.                                VAR TokenInformation;TokenInformationLength:ULONG;
  1926.                                VAR ReturnLength:ULONG):BOOL;
  1927.                   APIENTRY;  'KERNEL32' name 'GetTokenInformation';
  1928.        FUNCTION SetTokenInformation(TokenHandle:HANDLE;
  1929.                                TokenInformationClass:TOKEN_INFORMATION_CLASS;
  1930.                                VAR TokenInformation;TokenInformationLength:ULONG):BOOL;
  1931.                   APIENTRY;  'KERNEL32' name 'SetTokenInformation';
  1932.        FUNCTION AdjustTokenPrivileges(TokenHandle:HANDLE;DisableAllPrivileges:BOOL;
  1933.                                       VAR NewState:TOKEN_PRIVILEGES;
  1934.                                       BufferLength:ULONG;
  1935.                                       VAR PreviousState:TOKEN_PRIVILEGES;
  1936.                                       VAR ReturnLength:ULONG):BOOL;
  1937.                   APIENTRY;  'KERNEL32' name 'AdjustTokenPrivileges';
  1938.        FUNCTION AdjustTokenGroups(TokenHandle:HANDLE;ResetToDefault:BOOL;
  1939.                                   VAR NewState:TOKEN_GROUPS;BufferLength:ULONG;
  1940.                                   VAR PreviousState:TOKEN_GROUPS;
  1941.                                   VAR ReturnLength:ULONG):BOOL;
  1942.                   APIENTRY;  'KERNEL32' name 'AdjustTokenGroups';
  1943.        FUNCTION PrivilegeCheck(ClientToken:HANDLE;
  1944.                                VAR RequiredPrivileges:PRIVILEGE_SET;
  1945.                                VAR pfResult:BOOL):BOOL;
  1946.                   APIENTRY;  'KERNEL32' name 'PrivilegeCheck';
  1947.        FUNCTION AccessCheckAndAuditAlarm(CONST SubsystemName:CSTRING;
  1948.                                          VAR HandleId;
  1949.                                          VAR ObjectTypeName,ObjectName:CSTRING;
  1950.                                          VAR SecurityDescriptor:SECURITY_DESCRIPTOR;
  1951.                                          DesiredAccess:ULONG;
  1952.                                          VAR GenericMapping:GENERIC_MAPPING;
  1953.                                          ObjectCreation:BOOL;
  1954.                                          VAR GrantedAccess:ULONG;
  1955.                                          VAR AccessStatus,pfGenerateOnClose:BOOL):BOOL;
  1956.                   APIENTRY;  'KERNEL32' name 'AccessCheckAndAuditAlarmA';
  1957.        FUNCTION ObjectOpenAuditAlarm(CONST SubSystemName:CSTRING;VAR HandleId;
  1958.                                      VAR ObjectTypeName,ObjectName:CSTRING;
  1959.                                      VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  1960.                                      ClientToken:HANDLE;
  1961.                                      DesiredAccess,GrantedAccess:ULONG;
  1962.                                      VAR Privileges:PRIVILEGE_SET;
  1963.                                      ObjectCreation,AccessGranted:BOOL;
  1964.                                      VAR GenerateOnClose:BOOL):BOOL;
  1965.                   APIENTRY;  'KERNEL32' name 'ObjectOpenAuditAlarmA';
  1966.        FUNCTION ObjectPrivilegeAuditAlarm(CONST SubsystemName:CSTRING;
  1967.                                           VAR HandleId;ClientToken:HANDLE;
  1968.                                           DesiredAccess:ULONG;
  1969.                                           VAR Privileges:PRIVILEGE_SET;
  1970.                                           AccessGranted:BOOL):BOOL;
  1971.                   APIENTRY;  'KERNEL32' name 'ObjectPrivilegeAuditAlarmA';
  1972.        FUNCTION ObjectCloseAuditAlarm(CONST SubsystemName:CSTRING;
  1973.                                       VAR HandleId;GenerateOnClose:BOOL):BOOL;
  1974.                   APIENTRY;  'KERNEL32' name 'ObjectCloseAuditAlarmA';
  1975.        FUNCTION PrivilegedServiceAuditAlarm(CONST SubsystemName,ServiceName:CSTRING;
  1976.                                     ClientToken:HANDLE;
  1977.                                     VAR Privileges:PRIVILEGE_SET;
  1978.                                     AccessGranted:BOOL):BOOL;
  1979.                   APIENTRY;  'KERNEL32' name 'PrivilegedServiceAuditAlarmA';
  1980.        FUNCTION IsValidSid(VAR pSid:SID):BOOL;
  1981.                   APIENTRY;  'KERNEL32' name 'IsValidSid';
  1982.        FUNCTION EqualSid(VAR pSid1,pSid2:SID):BOOL;
  1983.                   APIENTRY;  'KERNEL32' name 'EqualSid';
  1984.        FUNCTION EqualPrefixSid(VAR pSid1,pSid2:SID):BOOL;
  1985.                   APIENTRY;  'KERNEL32' name 'EqualPrefixSid';
  1986.        FUNCTION GetSidLengthRequired(nSubAuthorityCount:BYTE):ULONG;
  1987.                   APIENTRY;  'KERNEL32' name 'GetSidLengthRequired';
  1988.        FUNCTION AllocateAndInitializeSid(VAR pIdentifierAuthority:SID_IDENTIFIER_AUTHORITY;
  1989.                         nSubAuthorityCount:BYTE;
  1990.                         nSubAuthority0,nSubAuthority1,nSubAuthority2:ULONG;
  1991.                         nSubAuthority3,nSubAuthority4,nSubAuthority5:ULONG;
  1992.                         nSubAuthority6,nSubAuthority7:ULONG;
  1993.                         VAR pSid:PSID):BOOL;
  1994.                   APIENTRY;  'KERNEL32' name 'AllocateAndInitializeSid';
  1995.        FUNCTION FreeSid(VAR pSid:SID):POINTER;
  1996.                   APIENTRY;  'KERNEL32' name 'FreeSid';
  1997.        FUNCTION InitializeSid(VAR pIdentifierAuthority:SID_IDENTIFIER_AUTHORITY;
  1998.                               nSubAuthorityCount:BYTE):BOOL;
  1999.                   APIENTRY;  'KERNEL32' name 'InitializeSid';
  2000.        FUNCTION GetSidIdentifierAuthority(VAR pSid:SID):PSID_IDENTIFIER_AUTHORITY;
  2001.                   APIENTRY;  'KERNEL32' name 'GetSidIdentifierAuthority';
  2002.        FUNCTION GetSidSubAuthority(VAR pSid:SID;nSubAuthority:ULONG):PULONG;
  2003.                   APIENTRY;  'KERNEL32' name 'GetSidSubAuthority';
  2004.        FUNCTION GetSidSubAuthorityCount(VAR pSid:SID):PBYTE;
  2005.                   APIENTRY;  'KERNEL32' name 'GetSidSubAuthorityCount';
  2006.        FUNCTION GetLengthSid(VAR pSid:SID):ULONG;
  2007.                   APIENTRY;  'KERNEL32' name 'GetLengthSid';
  2008.        FUNCTION CopySid(nDestinationSidLength:ULONG;
  2009.                         VAR pDestinationSid,pSourceSid:SID):BOOL;
  2010.                   APIENTRY;  'KERNEL32' name 'CopySid';
  2011.        FUNCTION AreAllAccessesGranted(GrantedAccess,DesiredAccess:ULONG):BOOL;
  2012.                   APIENTRY;  'KERNEL32' name 'AreAllAccessesGranted';
  2013.        FUNCTION AreAnyAccessesGranted(GrantedAccess,DesiredAccess:ULONG):BOOL;
  2014.                   APIENTRY;  'KERNEL32' name 'AreAnyAccessesGranted';
  2015.        PROCEDURE MapGenericMask(VAR AccessMask:ULONG;VAR GenericMapping:GENERIC_MAPPING);
  2016.                   APIENTRY;  'KERNEL32' name 'MapGenericMask';
  2017.        FUNCTION IsValidAcl(VAR pAcl:ACL):BOOL;
  2018.                   APIENTRY;  'KERNEL32' name 'IsValidAcl';
  2019.        FUNCTION InitializeAcl(VAR pAcl:ACL;nAclLength,deAclRevision:ULONG):BOOL;
  2020.                   APIENTRY;  'KERNEL32' name 'InitializeAcl';
  2021.        FUNCTION GetAclInformation(VAR pAcl:ACL;VAR pAclInformation;
  2022.                                   nAclInformationlength:ULONG;
  2023.                                   dwAclInformationClass:ACL_INFORMATION_CLASS):BOOL;
  2024.                   APIENTRY;  'KERNEL32' name 'GetAclInformation';
  2025.        FUNCTION SetAclInformation(VAR pAcl:ACL;VAR pAclInformation;
  2026.                                   nAclInformationLength:ULONG;
  2027.                                   dwAclInformationClass:ACL_INFORMATION_CLASS):BOOL;
  2028.                   APIENTRY;  'KERNEL32' name 'SetAclInformation';
  2029.        FUNCTION AddAce(VAR pACL:ACL;dwAceRevision,dwStartingAceIndex:ULONG;
  2030.                        VAR pAceList;nAceListLength:ULONG):BOOL;
  2031.                   APIENTRY;  'KERNEL32' name 'AddAce';
  2032.        FUNCTION DeleteAce(VAR pAcl:ACL;deAceIndex:ULONG):BOOL;
  2033.                   APIENTRY;  'KERNEL32' name 'DeleteAce';
  2034.        FUNCTION GetAce(VAR pAcl:ACL;dwAceIndex:ULONG;VAR pAce:POINTER):BOOL;
  2035.                   APIENTRY;  'KERNEL32' name 'GetAce';
  2036.        FUNCTION AddAccessAllowedAce(VAR pAcl:ACL;dwAceRevision,AcessMask:ULONG;
  2037.                                     VAR pSid:SID):BOOL;
  2038.                   APIENTRY;  'KERNEL32' name 'AddAccessAllowedAce';
  2039.        FUNCTION AddAccessDeniedAce(VAR pAcl:ACL;dwAceRevision,dwAccessMask:ULONG;
  2040.                                    VAR pSid:SID):BOOL;
  2041.                   APIENTRY;  'KERNEL32' name 'AddAccessDeniedAce';
  2042.        FUNCTION AddAuditAccessAce(VAR pAcl:ACL;dwAceRevision,dwAccessMask:ULONG;
  2043.                                   VAR pSid:SID):BOOL;
  2044.                   APIENTRY;  'KERNEL32' name 'AddAuditAccessAce';
  2045.        FUNCTION FindFirstFreeAce(VAR pAcl:ACL;VAR pAce:POINTER):BOOL;
  2046.                   APIENTRY;  'KERNEL32' name 'FindFirstFreeAce';
  2047.        FUNCTION InitializeSecurityDescriptor(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2048.                               dwRevision:ULONG):BOOL;
  2049.                   APIENTRY;  'KERNEL32' name 'InitializeSecurityDescriptor';
  2050.        FUNCTION IsValidSecurityDescriptor(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR):BOOL;
  2051.                   APIENTRY;  'KERNEL32' name 'IsValidSecurityDescriptor';
  2052.        FUNCTION GetSecurityDescriptorLength(VAR pSecurityDesciptor:SECURITY_DESCRIPTOR):ULONG;
  2053.                   APIENTRY;  'KERNEL32' name 'GetSecurityDescriptorLength';
  2054.        FUNCTION GetSecurityDescriptorControl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2055.                                 VAR pControl:SECURITY_DESCRITOR_CONTROL;
  2056.                                 VAR lpdwRevision:ULONG):BOOL;
  2057.                   APIENTRY;  'KERNEL32' name 'GetSecurityDescriptorControl';
  2058.        FUNCTION SetSecurityDescriptorDacl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2059.                                            bDaclPresent:BOOL;VAR pDacl:ACL;
  2060.                                            bDaclDefaulted:BOOL):BOOL;
  2061.                   APIENTRY;  'KERNEL32' name 'SetSecurityDescriptorDacl';
  2062.        FUNCTION GetSecurityDescriptorDacl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2063.                                           VAR lpbDaclPresent:BOOL;
  2064.                                           VAR pDacl:PACL;VAR lpbDaclDefaulted:BOOL):BOOL;
  2065.                   APIENTRY;  'KERNEL32' name 'GetSecurityDescriptorDacl';
  2066.        FUNCTION SetSecurityDescriptorSacl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2067.                                           bSaclPresent:BOOL;VAR pSacl:ACL;
  2068.                                           bSaclDefaulted:BOOL):BOOL;
  2069.                   APIENTRY;  'KERNEL32' name 'SetSecurityDescriptorSacl';
  2070.        FUNCTION GetSecurityDescriptorSacl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2071.                                           VAR lpbSaclPresent:BOOL;VAR pSacl:PACL;
  2072.                                           VAR lpbSaclDefaulted:BOOL):BOOL;
  2073.                   APIENTRY;  'KERNEL32' name 'GetSecurityDescriptorSacl';
  2074.        FUNCTION SetSecurityDescriptorOwner(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2075.                                            VAR pOwner:SID;bOwnerDefaulted:BOOL):BOOL;
  2076.                   APIENTRY;  'KERNEL32' name 'SetSecurityDescriptorOwner';
  2077.        FUNCTION GetSecurityDescriptorOwner(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2078.                                            VAR pOwner:PSID;VAR lpbOwnerDefaulted:BOOL):BOOL;
  2079.                   APIENTRY;  'KERNEL32' name 'GetSecurityDescriptorOwner';
  2080.        FUNCTION SetSecurityDescriptorGroup(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2081.                                            VAR pGroup:SID;bGroupDefaulted:BOOL):BOOL;
  2082.                   APIENTRY;  'KERNEL32' name 'SetSecurityDescriptorGroup';
  2083.         FUNCTION GetSecurityDescriptorGroup(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  2084.                                             VAR pGroup:SID;VAR lpGroupDefaulted:BOOL):BOOL;
  2085.                   APIENTRY;  'KERNEL32' name 'GetSecurityDescriptorGroup';
  2086.         FUNCTION CreatePrivateObjectSecurity(VAR ParentDescriptor,CreatorDescritor:SECURITY_DESCRIPTOR;
  2087.                                              VAR NewDescriptor:PSECURITY_DESCRIPTOR;
  2088.                                              IsDirectoryObject:BOOL;Token:HANDLE;
  2089.                                              VAR GenericMapping:GENERIC_MAPPING):BOOL;
  2090.                   APIENTRY;  'KERNEL32' name 'CreatePrivateObjectSecurity';
  2091.         FUNCTION SetPrivateObjectSecurity(SecurityInformation:SECURITY_INFORMATION;
  2092.                                           VAR ModificationDescriptor:SECURITY_DESCRIPTOR;
  2093.                                           VAR ObjectsSecurityDescriptor:PSECURITY_DESCRIPTOR;
  2094.                                           VAR GenericMapping:GENERIC_MAPPING;
  2095.                                           Token:HANDLE):BOOL;
  2096.                   APIENTRY;  'KERNEL32' name 'SetPrivateObjectSecurity';
  2097.         FUNCTION GetPrivateObjectSecurity(VAR ObjectDescriptor:SECURITY_DESCRIPTOR;
  2098.                                           SecurityInformation:SECURITY_INFORMATION;
  2099.                                           VAR ResultantDescriptor:SECURITY_DESCRIPTOR;
  2100.                                           DescriptorLength:LONGWORD;VAR ReturnLength:LONGWORD):BOOL;
  2101.                   APIENTRY;  'KERNEL32' name 'GetPrivateObjectSecurity';
  2102.         FUNCTION DestroyPrivateObjectSecurity(VAR ObjectDescriptor:PSECURITY_DESCRIPTOR):BOOL;
  2103.                   APIENTRY;  'KERNEL32' name 'DestroyPrivateObjectSecurity';
  2104.         FUNCTION MakeSelfRelativeSD(VAR pAbsoluteSecurityDescriptor,pSelfRelativeSecurityDescriptor:SECURITY_DESCRIPTOR;
  2105.                                     VAR lpdwBufferLength:LONGWORD):BOOL;
  2106.                   APIENTRY;  'KERNEL32' name 'MakeSelfRelativeSD';
  2107.         FUNCTION MakeAbsoluteSD(VAR pSelfRelativeSecurityDescriptor,pAbsoluteSecurityDescriptor:SECURITY_DESCRIPTOR;
  2108.                                 VAR lpdwAbsoluteSecurityDescriptorSize:LONGWORD;VAR pDacl:ACL;
  2109.                                 VAR lpdwDaclSize:LONGWORD;VAR pSacl:ACL;VAR lpdwSaclSize:LONGWORD;
  2110.                                 VAR pOwner:SID;VAR lpdwOwnerSize:LONGWORD;VAR pPrimaryGroup:SID;
  2111.                                 VAR lpdwPrimaryGroupSize:LONGWORD):BOOL;
  2112.                   APIENTRY;  'KERNEL32' name 'MakeAbsoluteSD';
  2113.         FUNCTION SetFileSecurity(CONST lpFileName:CSTRING;SecurityInformation:SECURITY_INFORMATION;
  2114.                                  VAR pSecurityDescriptor:SECURITY_DESCRIPTOR):BOOL;
  2115.                   APIENTRY;  'KERNEL32' name 'SetFileSecurityA';
  2116.         FUNCTION GetFileSecurity(CONST lpFileName:CSTRING;SecurityInformation:SECURITY_INFORMATION;
  2117.                                  VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;nLength:LONGWORD;
  2118.                                  VAR lpnLengthNeeded:LONGWORD):BOOL;
  2119.                   APIENTRY;  'KERNEL32' name 'GetFileSecurityA';
  2120.         FUNCTION SetKernelObjectSecurity(aHandle:HANDLE;SecurityInformation:SECURITY_INFORMATION;
  2121.                                          VAR pSecurityDescriptor:SECURITY_DESCRIPTOR):BOOL;
  2122.                   APIENTRY;  'KERNEL32' name 'SetKernelObjectSecurity';
  2123.         FUNCTION FindFirstChangeNotification(CONST lpPathName:CSTRING;bWatchSubTree:BOOL;
  2124.                                              dwNotifyFilter:LONGWORD):HANDLE;
  2125.                   APIENTRY;  'KERNEL32' name 'FindFirstChangeNotificationA';
  2126.         FUNCTION FindNextChangeNotification(hChangeHandle:HANDLE):BOOL;
  2127.                   APIENTRY;  'KERNEL32' name 'FindNextChangeNotification';
  2128.         FUNCTION FindCloseChangeNotification(hChangeHandle:HANDLE):BOOL;
  2129.                   APIENTRY;  'KERNEL32' name 'FindCloseChangeNotification';}
  2130.         FUNCTION VirtualLock(VAR lpAdress;dwSize:LONGWORD):BOOL;
  2131.                   APIENTRY;  'KERNEL32' name 'VirtualLock';
  2132.         FUNCTION VirtualUnlock(VAR lpAdress;dwSize:LONGWORD):BOOL;
  2133.                   APIENTRY;  'KERNEL32' name 'VirtualUnlock';
  2134.         FUNCTION MapViewOfFileEx(hFileMappingObject:HANDLE;dwDesiredAccess,dwFileOffsetHigh,
  2135.                                  dwFileOffsetLow,dwNumberOfBytesToMap:LONGWORD;
  2136.                                  VAR lpBaseAddress):POINTER;
  2137.                   APIENTRY;  'KERNEL32' name 'MapViewOfFileEx';
  2138.         FUNCTION SetPriorityClass(hProcess:HANDLE;dwPriorityClass:LONGWORD):BOOL;
  2139.                   APIENTRY;  'KERNEL32' name 'SetPriorityClass';
  2140.         FUNCTION GetPriorityClass(hProcess:HANDLE):LONGWORD;
  2141.                   APIENTRY;  'KERNEL32' name 'GetPriorityClass';
  2142.         FUNCTION IsBadReadPtr(lp:POINTER;ucb:LONGWORD):BOOL;
  2143.                   APIENTRY;  'KERNEL32' name 'IsBadReadPtr';
  2144.         FUNCTION IsBadWritePtr(lp:POINTER;ucb:LONGWORD):BOOL;
  2145.                   APIENTRY;  'KERNEL32' name 'IsBadWritePtr';
  2146.         FUNCTION IsBadHugeReadPtr(lp:POINTER;ucb:LONGWORD):BOOL;
  2147.                   APIENTRY;  'KERNEL32' name 'IsBadHugeReadPtr';
  2148.         FUNCTION IsBadHugeWritePtr(lp:POINTER;ucb:LONGWORD):BOOL;
  2149.                   APIENTRY;  'KERNEL32' name 'IsBadHugeWritePtr';
  2150.         FUNCTION IsBadCodePtr(lpfn:POINTER):BOOL;
  2151.                   APIENTRY;  'KERNEL32' name 'IsBadCodePtr';
  2152.         FUNCTION IsBadStringPtr(CONST lpsz:CSTRING;ucchMax:LONGWORD):BOOL;
  2153.                   APIENTRY;  'KERNEL32' name 'IsBadStringPtrA';
  2154.         {FUNCTION LookupAccountSid(CONST lpSystemName:CSTRING;VAR aSid:SID;VAR Name:CSTRING;
  2155.                                    VAR cbName:LONGWORD;VAR ReferencedDomainName:CSTRING;
  2156.                                    VAR cbReferencedDomainName:LONGWORD;VAR peUse:SID_NAME_USE):BOOL;
  2157.                   APIENTRY;  'KERNEL32' name 'LookupAccountSidA';
  2158.         FUNCTION LookupAccountName(CONST lpSystemName:CSTRING;lpAccountName:CSTRING;VAR aSid:SID;
  2159.                                    VAR cbSid:LONGWORD;VAR ReferencedDomainName:CSTRING;
  2160.                                    VAR cbReferencedDomainName:LONGWORD;VAR peUse:SID_NAME_USE):BOOL;
  2161.                   APIENTRY;  'KERNEL32' name 'LookupAccountNameA';
  2162.         FUNCTION LookupPrivilegeValue(CONST lpSystemName:CSTRING;CONST lpName:CSTRING;VAR alpLuid:LUID):BOOL;
  2163.                   APIENTRY;  'KERNEL32' name 'LookupPrivilegeValueA';
  2164.         FUNCTION LookupPrivilegeName(CONST lpSystemName:CSTRING;VAR alpLuid:LUID;VAR lpName:CSTRING;
  2165.                                       VAR cbName:LONGWORD):BOOL;
  2166.                   APIENTRY;  'KERNEL32' name 'LookupPrivilegeNameA';
  2167.         FUNCTION LookupPrivilegeDisplayName(CONST lpSystemName,lpName:CSTRING;VAR lpDisplayName:CSTRING;
  2168.                                             VAR cbDisplayName,lpLanguageId:LONGWORD):BOOL;
  2169.                   APIENTRY;  'KERNEL32' name 'LookupPrivilegeDisplayNameA';
  2170.         FUNCTION AllocateLocallyUniqueId(VAR aLuid:LUID):BOOL;
  2171.                   APIENTRY;  'KERNEL32' name 'AllocateLocallyUniqueId';
  2172.         FUNCTION BuildCommDCB(CONST lpDef:CSTRING;VAR alpDCB:DCB):BOOL;
  2173.                   APIENTRY;  'KERNEL32' name 'BuildCommDCBA';
  2174.         FUNCTION BuildCommDCBAndTimeouts(CONST lpDef:CSTRING;VAR alpDCB:DCB;VAR alpCommTimeOuts:COMMTIMEOUTS):BOOL;
  2175.                   APIENTRY;  'KERNEL32' name 'BuildCommDCBAndTimeoutsA';
  2176.         FUNCTION CommConfigDialog(CONST lpszName:CSTRING;ahWnd:HWND;VAR lpCC:COMMCONFIG):BOOL;
  2177.                   APIENTRY;  'KERNEL32' name 'CommConfigDialogA';
  2178.         FUNCTION GetDefaultCommConfig(CONST lpszName:CSTRING;VAR lpCC:COMMCONFIG;VAR lpdwSize:LONGWORD):BOOL;
  2179.                   APIENTRY;  'KERNEL32' name 'GetDefaultCommConfigA';
  2180.         FUNCTION SetDefaultCommConfig(CONST lpszName:CSTRING;VAR lpCC:COMMCONFIG;dwSize:LONGWORD):BOOL;
  2181.                   APIENTRY;  'KERNEL32' name 'SetDefaultCommConfigA';}
  2182.         FUNCTION GetComputerName(VAR lpBuffer:CSTRING;VAR nSize:LONGWORD):BOOL;
  2183.                   APIENTRY;  'KERNEL32' name 'GetComputerNameA';
  2184.         FUNCTION SetComputerName(CONST lpComputerName:CSTRING):BOOL;
  2185.                   APIENTRY;  'KERNEL32' name 'SetComputerNameA';
  2186.         FUNCTION GetUserName(VAR lpBuffer:CSTRING;VAR nSize:LONGWORD):BOOL;
  2187.                   APIENTRY;  'KERNEL32' name 'GetUserNameA';
  2188.         FUNCTION QueryPerformanceCounter(VAR lpPerformanceCount:LARGE_INTEGER):BOOL;
  2189.                   APIENTRY;  'KERNEL32' name 'QueryPerformanceCounter';
  2190.         FUNCTION QueryPerformanceFrequency(VAR lpFrequency:LARGE_INTEGER):BOOL;
  2191.                   APIENTRY;  'KERNEL32' name 'QueryPerformanceFrequency';
  2192.         FUNCTION GetVersionEx(lpVersionInformation:OSVERSIONINFO):BOOL;
  2193.                   APIENTRY;  'KERNEL32' name 'GetVersionExA';
  2194.         {$ENDIF}
  2195.  
  2196.  
  2197.  
  2198.  
  2199.         {$IFDEF Os2}
  2200.         FUNCTION InterlockedIncrement(VAR lpAppend:LONG):LONG;
  2201.                    APIENTRY;  'PMWINX' index 423;
  2202.         FUNCTION InterlockedDecrement(VAR lpAddend:LONG):LONG;
  2203.                    APIENTRY;  'PMWINX' index 421;
  2204.         FUNCTION InterlockedExchange(VAR Target:LONG;Value:LONG):LONG;
  2205.                    APIENTRY;  'PMWINX' index 422;
  2206.         {FUNCTION FreeResource(hResData:HGLOBAL):BOOL;
  2207.                    APIENTRY;  'PMWINX' index'FreeResource'; not supported}
  2208.         FUNCTION LockResource(hResData:HGLOBAL):POINTER;
  2209.                    APIENTRY;  'PMWINX' index 476;
  2210.         FUNCTION FreeLibrary(hLibModule:HINSTANCE):BOOL;
  2211.                    APIENTRY;  'PMWINX' index 223;
  2212.         {PROCEDURE FreeLibraryAndExitThread(hLibModule:HMODULE;dwExitCode:ULONG);
  2213.                    APIENTRY;  'PMWINX' index'FreeLibraryAndExitThread'; not supported}
  2214.         {FUNCTION DisableThreadLibraryCalls(hLibModule:HMODULE):BOOL;
  2215.                    APIENTRY;  'PMWINX' index'DisableThreadLibraryCalls'; not supported}
  2216.         FUNCTION GetProcAddress(hModule:HINSTANCE;CONST lpProcName:CSTRING):POINTER;
  2217.                    APIENTRY;  'PMWINX' index 341;
  2218.         {FUNCTION GetVersion:ULONG;
  2219.                    APIENTRY;  'PMWINX' index'GetVersion'; not supported}
  2220.         FUNCTION GlobalAlloc(uFlags:ULONG;dwBytes:ULONG):HGLOBAL;
  2221.                    APIENTRY;  'PMWINX' index 396;
  2222.         FUNCTION GlobalReAlloc(hMem:HGLOBAL;dwBytes:ULONG;uFlags:ULONG):HGLOBAL;
  2223.                    APIENTRY;  'PMWINX' index 406;
  2224.         FUNCTION GlobalSize(hMem:HGLOBAL):ULONG;
  2225.                    APIENTRY;  'PMWINX' index 407;
  2226.         FUNCTION GlobalFlags(hMem:HGLOBAL):ULONG;
  2227.                    APIENTRY;  'PMWINX' index 400;
  2228.         FUNCTION GlobalLock(hMem:HGLOBAL):POINTER;
  2229.                    APIENTRY;  'PMWINX' index 404;
  2230.         FUNCTION GlobalHandle(pMem:POINTER):HGLOBAL;
  2231.                    APIENTRY;  'PMWINX' index 403;
  2232.         FUNCTION GlobalUnlock(hMem:HGLOBAL):BOOL;
  2233.                    APIENTRY;  'PMWINX' index 408;
  2234.         FUNCTION GlobalFree(hMem:HGLOBAL):HGLOBAL;
  2235.                    APIENTRY;  'PMWINX' index 401;
  2236.         {FUNCTION GlobalCompact(dwMinFree:ULONG):ULONG;
  2237.                    APIENTRY;  'PMWINX' index'GlobalCompact'; not supported}
  2238.         {PROCEDURE GlobalFix(hMem:HGLOBAL);
  2239.                    APIENTRY;  'PMWINX' index'GlobalFix'; not supported}
  2240.         {PROCEDURE GlobalUnfix(hMem:HGLOBAL);
  2241.                    APIENTRY;  'PMWINX' index'GlobalUnfix'; not supported}
  2242.         {FUNCTION GlobalWire(hMem:HGLOBAL):POINTER;
  2243.                    APIENTRY;  'PMWINX' index'GlobalWire'; not supported}
  2244.         {FUNCTION GlobalUnWire(hMem:HGLOBAL):BOOL;
  2245.                    APIENTRY;  'PMWINX' index'GlobalUnWire'; not supported}
  2246.         PROCEDURE GlobalMemoryStatus(VAR lpBuffer:MEMORYSTATUS);
  2247.                    APIENTRY;  'PMWINX' index 405;
  2248.         FUNCTION LocalAlloc(uFlags:ULONG;uBytes:ULONG):HLOCAL;
  2249.                    APIENTRY;  'PMWINX' index 465;
  2250.         FUNCTION LocalReAlloc(hMem:HLOCAL;uBytes:ULONG;uFlags:ULONG):HLOCAL;
  2251.                    APIENTRY;  'PMWINX' index 472;
  2252.         FUNCTION LocalLock(hMem:HLOCAL):POINTER;
  2253.                    APIENTRY;  'PMWINX' index 471;
  2254.         FUNCTION LocalHandle(pMem:POINTER):HLOCAL;
  2255.                    APIENTRY;  'PMWINX' index 470;
  2256.         FUNCTION LocalUnlock(hMem:HLOCAL):BOOL;
  2257.                    APIENTRY;  'PMWINX' index 474;
  2258.         FUNCTION LocalSize(hMem:HLOCAL):ULONG;
  2259.                    APIENTRY;  'PMWINX' index 473;
  2260.         FUNCTION LocalFlags(hMem:HLOCAL):ULONG;
  2261.                    APIENTRY;  'PMWINX' index 468;
  2262.         FUNCTION LocalFree(hMem:HLOCAL):HLOCAL;
  2263.                    APIENTRY;  'PMWINX' index 469;
  2264.         {FUNCTION LocalShrink(hMem:HLOCAL;cbNewSize:ULONG):ULONG;
  2265.                    APIENTRY;  'PMWINX' index'LocalShrink'; not supported}
  2266.         {FUNCTION LocalCompact(uMinFree:ULONG):ULONG;
  2267.                    APIENTRY;  'PMWINX' index'LocalCompact'; not supported}
  2268.         {FUNCTION FlushInstructionCache(hProcess:HANDLE;lpBaseAddress:POINTER;
  2269.                                        dwSize:ULONG):BOOL;
  2270.                    APIENTRY;  'PMWINX' index'FlushInstructionCache'; not supprted}
  2271.         {FUNCTION VirtualAlloc(lpAddress:POINTER;dwSize:ULONG;flAllocationType:ULONG;
  2272.                               flProtect:ULONG):POINTER;
  2273.                    APIENTRY;  'PMWINX' index'VirtualAlloc'; not supported}
  2274.         {FUNCTION VirtualFree(lpAddress:POINTER;dwSize:ULONG;dwFreeType:ULONG):BOOL;
  2275.                    APIENTRY;  'PMWINX' index'VirtualFree'; not supported}
  2276.         {FUNCTION VirtualProtect(lpAddress:POINTER;dwSize:ULONG;flNewProtect:ULONG;
  2277.                                 VAR lpflOldProtect:ULONG):BOOL;
  2278.                    APIENTRY;  'PMWINX' index'VirtualProtect'; not supported}
  2279.         {FUNCTION VirtualQuery(lpAddress:POINTER;VAR lpBuffer:MEMORY_BASIC_INFORMATION;
  2280.                               dwLength:ULONG):ULONG;
  2281.                    APIENTRY;  'PMWINX' index'VirtualQuery'; not supported}
  2282.         {FUNCTION VirtualProtectEx(hProcess:HANDLE;lpAddress:POINTER;dwSize:ULONG;
  2283.                                   flNewProtect:ULONG;VAR lpflOldProtect:ULONG):BOOL;
  2284.                    APIENTRY;  'PMWINX' index'VirtualProtectEx'; not supported}
  2285.         {FUNCTION VirtualQueryEx(hProcess:HANDLE;lpAddress:POINTER;
  2286.                                 VAR lpBuffer:MEMORY_BASIC_INFORMATION;
  2287.                                 dwLength:ULONG):ULONG;
  2288.                    APIENTRY;  'PMWINX' index'VirtualQueryEx'; not supported}
  2289.         FUNCTION HeapCreate(flOptions:ULONG;dwInitialSize:ULONG;
  2290.                             dwMaximumSize:ULONG):HANDLE;
  2291.                    APIENTRY;  'PMWINX' index 410;
  2292.         FUNCTION HeapDestroy(hHeap:HANDLE):BOOL;
  2293.                    APIENTRY;  'PMWINX' index 411;
  2294.         FUNCTION HeapAlloc(hHeap:HANDLE;dwFlags,dwBytes:ULONG):POINTER;
  2295.                    APIENTRY;  'PMWINX' index 409;
  2296.         FUNCTION HeapReAlloc(hHeap:HANDLE;dwFlags:ULONG;lpMem:POINTER;
  2297.                              dwBytes:ULONG):POINTER;
  2298.                    APIENTRY;  'PMWINX' index 413;
  2299.         FUNCTION HeapFree(hHeap:HANDLE;dwFlags:ULONG;lpMem:POINTER):BOOL;
  2300.                    APIENTRY;  'PMWINX' index 412;
  2301.         FUNCTION HeapSize(hHeap:HANDLE;dwFlags:ULONG;lpMem:POINTER):ULONG;
  2302.                    APIENTRY;  'PMWINX' index 13; {?}
  2303.         {FUNCTION HeapValidate(hHeap:HANDLE;dwFlags:ULONG;lpMem:POINTER):BOOL;
  2304.                    APIENTRY;  'PMWINX' index'HeapValidate'; not supported}
  2305.         {FUNCTION HeapCompact(hHeap:HANDLE;dwFlags:ULONG):ULONG;
  2306.                    APIENTRY;  'PMWINX' index'HeapCompact'; not supported}
  2307.         {FUNCTION GetProcessHeap:HANDLE;
  2308.                    APIENTRY;  'PMWINX' index'GetProcessHeap'; not supported}
  2309.         {FUNCTION GetProcessHeaps(NumberOfHeaps:ULONG;VAR ProcessHeaps:HANDLE):ULONG;
  2310.                    APIENTRY;  'PMWINX' index'GetProcessHeaps'; not supported}
  2311.         {FUNCTION HeapLock(hHeap:HANDLE):BOOL;
  2312.                    APIENTRY;  'PMWINX' index'HeapLock'; not supported}
  2313.         {FUNCTION HeapUnlock(hHeap:HANDLE):BOOL;
  2314.                    APIENTRY;  'PMWINX' index'HeapUnlock'; not supported}
  2315.         {FUNCTION HeapWalk(hHeap:HANDLE;VAR lpEntry:PROCESS_HEAP_ENTRY):BOOL;
  2316.                    APIENTRY;  'PMWINX' index'HeapWalk'; not supported}
  2317.         {FUNCTION GetBinaryType(CONST lpApplicationName:CSTRING;
  2318.                                VAR lpBinaryType:ULONG):BOOL;
  2319.                    APIENTRY;  'PMWINX' index'GetBinaryTypeA'; not supported}
  2320.         {FUNCTION GetShortPathName(CONST lpszLongPath:CSTRING;
  2321.                                   VAR lpszShortPath:CSTRING;cchBuffer:ULONG):ULONG;
  2322.                    APIENTRY;  'PMWINX' index'GetShortPathNameA'; not supported}
  2323.         {FUNCTION GetProcessAffinityMask(hProcess:HANDLE;VAR lpProcessAffinityMask,
  2324.                                         lpSystemAffinityMask:ULONG):BOOL;
  2325.                    APIENTRY;  'PMWINX' index'GetProcessAffinityMask'; not supported}
  2326.         {FUNCTION GetProcessTimes(hProcess:HANDLE;VAR lpCreationTime,
  2327.                                  lpExitTime,lpKernelTime,lpUserTime:FILETIME):BOOL;
  2328.                    APIENTRY;  'PMWINX' index'GetProcessTimes'; not supported}
  2329.         {FUNCTION GetProcessWorkingSetSize(hProcess:HANDLE;VAR Min,Max:ULONG):BOOL;
  2330.                    APIENTRY;  'PMWINX' index'GetProcessWorkingSetSize'; not supported}
  2331.         {FUNCTION SetProcessWorkingSetSize(hProcess:HANDLE;Min,Max:ULONG):BOOL;
  2332.                    APIENTRY;  'PMWINX' index'SetProcessWorkingSetSize'; not supported}
  2333.         FUNCTION OpenProcess(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  2334.                              dwProcessId:ULONG):HANDLE;
  2335.                    APIENTRY;  'PMWINX' index 506;
  2336.         FUNCTION GetCurrentProcess:HANDLE;
  2337.                    APIENTRY;  'PMWINX' index 256;
  2338.         FUNCTION GetCurrentProcessId:ULONG;
  2339.                    APIENTRY;  'PMWINX' index 257;
  2340.         PROCEDURE ExitProcess(uExitCode:ULONG);
  2341.                    APIENTRY;  'PMWINX' index 192;
  2342.         FUNCTION TerminateProcess(hProcess:HANDLE;uExitCode:ULONG):BOOL;
  2343.                    APIENTRY;  'PMWINX' index 687;
  2344.         FUNCTION GetExitCodeProcess(hProcess:HANDLE;VAR lpExitCode:ULONG):BOOL;
  2345.                    APIENTRY;  'PMWINX' index 1005;
  2346.         PROCEDURE FatalExit(ExitCode:LONGINT);
  2347.                    APIENTRY;  'PMWINX' index 202;
  2348.         FUNCTION GetEnvironmentStrings:PChar;
  2349.                    APIENTRY;  'PMWINX' index 282;
  2350.         {FUNCTION FreeEnvironmentStrings(p:PChar):BOOL;
  2351.                    APIENTRY;  'PMWINX' index'FreeEnvironmentStringsA'; not supported}
  2352.         {PROCEDURE RaiseException(dwExceptionCode,dwExceptionFlags:ULONG;
  2353.                                  nNumberOfArguments:ULONG;VAR lpArguments);
  2354.                    APIENTRY;  'PMWINX' index'RaiseException'; not supported}
  2355.         {FUNCTION UnhandledExceptionFilter(VAR ExceptionInfo:EXCEPTION_POINTERS):LONG;
  2356.                    APIENTRY;  'PMWINX' index'UnhandledExceptionFilter'; not supported}
  2357.         {FUNCTION SetUnhandledExceptionFilter(lpTopLevelFilter:PTOP_LEVEL_EXCEPTION_FILTER):
  2358.                                  LPTOP_LEVEL_EXCEPTION_FILTER;
  2359.                    APIENTRY;  'PMWINX' index'SetUnhandledExceptionFilter'; not supported}
  2360.         FUNCTION CreateThread(VAR ThreadAttrs:SECURITY_ATTRIBUTES;Stack:ULONG;
  2361.                               lpStartAddress:LPTHREAD_START_ROUTINE;
  2362.                               lpParameter:POINTER;dwCreationFlags:ULONG;
  2363.                               VAR lpThreadId:ULONG):HANDLE;
  2364.                    APIENTRY;  'PMWINX' index 98;
  2365.         {FUNCTION CreateRemoteThread(hProcess:HANDLE;VAR Attrs:SECURITY_ATTRIBUTES;
  2366.                                     dwStack:ULONG;lpStartAddr:LPTHREAD_START_ROUTINE;
  2367.                                     lpParameter:POINTER;dwCreationFlags:ULONG;
  2368.                                     VAR lpThreadId:ULONG):HANDLE;
  2369.                    APIENTRY;  'PMWINX' index'CreateRemoteThread'; not supported}
  2370.         FUNCTION GetCurrentThread:HANDLE;
  2371.                    APIENTRY;  'PMWINX' index 258;
  2372.         FUNCTION GetCurrentThreadId:ULONG;
  2373.                    APIENTRY;  'PMWINX' index 259;
  2374.         {FUNCTION SetThreadAffinityMask(hThread:HANDLE;dwMask:ULONG):ULONG;
  2375.                    APIENTRY;  'PMWINX' index'SetThreadAffinityMask'; not supported}
  2376.         FUNCTION SetThreadPriority(hThread:HANDLE;nPriority:LONGINT):BOOL;
  2377.                    APIENTRY;  'PMWINX' index 651;
  2378.         FUNCTION GetThreadPriority(hThread:HANDLE):LONGINT;
  2379.                    APIENTRY;  'PMWINX' index 372;
  2380.         {FUNCTION GetThreadTimes(hThread:HANDLE;VAR lpCreationTime,
  2381.                                 lpExitTime,lpKernelTime,lpUserTime:FILETIME):BOOL;
  2382.                    APIENTRY;  'PMWINX' index'GetThreadTimes'; not supported}
  2383.         PROCEDURE ExitThread(ExitCode:ULONG);
  2384.                    APIENTRY;  'PMWINX' index 193;
  2385.         FUNCTION TerminateThread(hThread:HANDLE;dwExitCode:ULONG):BOOL;
  2386.                    APIENTRY;  'PMWINX' index 688;
  2387.         FUNCTION GetExitCodeThread(hThread:HANDLE;VAR lpExitCode:ULONG):BOOL;
  2388.                    APIENTRY;  'PMWINX' index 1006;
  2389.         FUNCTION GetLastError:ULONG;
  2390.                    APIENTRY;  'PMWINX' index 300;
  2391.         PROCEDURE SetLastError(dwErrCode:ULONG);
  2392.                    APIENTRY;  'PMWINX' index 624;
  2393.         FUNCTION GetOverlappedResult(hFile:HANDLE;VAR lpOverlapped:OVERLAPPED;
  2394.                                      VAR lpNumberBytes:ULONG;bWait:BOOL):BOOL;
  2395.                    APIENTRY;  'PMWINX' index 331;
  2396.         {FUNCTION CreateIoCompletionPort(FileHandle:HANDLE;ExistingPort:HANDLE;
  2397.                                         CompletionKey,NumberConcThreads:ULONG):HANDLE;
  2398.                    APIENTRY;  'PMWINX' index'CreateIoCompletionPort'; not supported}
  2399.         {FUNCTION GetQueuedCompletionStatus(CompletionPort:HANDLE;
  2400.                                            VAR lpNumber,lpKey:ULONG;
  2401.                                            VAR lpOverlapped:OVERLAPPED;
  2402.                                            dwMillisecs:ULONG):BOOL;
  2403.                    APIENTRY;  'PMWINX' index'GetQueuedCompletionStatus'; not supported}
  2404.         {FUNCTION SetErrorMode(uMode:ULONG):ULONG;
  2405.                    APIENTRY;  'PMWINX' index'SetErrorMode'; not supported}
  2406.         {FUNCTION ReadProcessMemory(hProcess:HANDLE;lpBaseAddress:POINTER;
  2407.                                    VAR lpBuffer;nSize:ULONG;
  2408.                                    VAR lpNumberOfBytesRead:ULONG):BOOL;
  2409.                    APIENTRY;  'PMWINX' index'ReadProcessMemory'; not supported}
  2410.         {FUNCTION WriteProcessMemory(hProcess:HANDLE;lpBaseAddress:POINTER;
  2411.                                     VAR lpBuffer;nSize:ULONG;
  2412.                                     lpNumberOfBytesWritten:ULONG):BOOL;
  2413.                    APIENTRY;  'PMWINX' index'WriteProcessMemory'; not supported}
  2414.         {FUNCTION GetThreadContext(hThread:HANDLE;VAR lpContext:CONTEXT):BOOL;
  2415.                    APIENTRY;  'PMWINX' index'GetThreadContext'; not supported}
  2416.         {FUNCTION SetThreadContext(hThread:HANDLE;CONST lpContext:CONTEXT):BOOL;
  2417.                    APIENTRY;  'PMWINX' index'SetThreadContext'; not supported}
  2418.         FUNCTION SuspendThread(hThread:HANDLE):ULONG;
  2419.                    APIENTRY;  'PMWINX' index 681;
  2420.         FUNCTION ResumeThread(hThread:HANDLE):ULONG;
  2421.                    APIENTRY;  'PMWINX' index 573;
  2422.         {PROCEDURE DebugBreak;
  2423.                    APIENTRY;  'PMWINX' index'DebugBreak'; not supported}
  2424.         {FUNCTION WaitForDebugEvent(VAR lpDebugEvent:DEBUG_EVENT;
  2425.                                    dwMilliseconds:ULONG):BOOL;
  2426.                    APIENTRY;  'PMWINX' index'WaitForDebugEvent'; not supported}
  2427.         {FUNCTION ContinueDebugEvent(dwProcessId,dwThreadId,dwStatus:ULONG):BOOL;
  2428.                    APIENTRY;  'PMWINX' index'ContinueDebugEvent'; not supported}
  2429.         {FUNCTION DebugActiveProcess(dwProcessId:ULONG):BOOL;
  2430.                    APIENTRY;  'PMWINX' index'DebugActiveProcess'; not supported}
  2431.  
  2432.         PROCEDURE InitializeCriticalSection(VAR CritSec:CRITICAL_SECTION);
  2433.                    APIENTRY;  'PMWINX' index 419;
  2434.         PROCEDURE EnterCriticalSection(VAR CritSec:CRITICAL_SECTION);
  2435.                    APIENTRY;  'PMWINX' index 175;
  2436.         PROCEDURE LeaveCriticalSection(VAR CritSec:CRITICAL_SECTION);
  2437.                    APIENTRY;  'PMWINX' index 454;
  2438.         PROCEDURE DeleteCriticalSection(VAR CritSec:CRITICAL_SECTION);
  2439.                    APIENTRY;  'PMWINX' index 134;
  2440.         FUNCTION SetEvent(hEvent:HANDLE):BOOL;
  2441.                    APIENTRY;  'PMWINX' index 616;
  2442.         FUNCTION ResetEvent(hEvent:HANDLE):BOOL;
  2443.                    APIENTRY;  'PMWINX' index 570;
  2444.         FUNCTION PulseEvent(hEvent:HANDLE):BOOL;
  2445.                    APIENTRY;  'PMWINX' index 534;
  2446.         FUNCTION ReleaseSemaphore(hSemaphore:HANDLE;lReleaseCount:LONG;
  2447.                                   VAR lpPreviousCount:LONG):BOOL;
  2448.                    APIENTRY;  'PMWINX' index 562;
  2449.         FUNCTION ReleaseMutex(hMutex:HANDLE):BOOL;
  2450.                    APIENTRY;  'PMWINX' index 561;
  2451.         FUNCTION WaitForSingleObject(hHandle:HANDLE;dwMilliseconds:ULONG):ULONG;
  2452.                    APIENTRY;  'PMWINX' index 711;
  2453.         FUNCTION WaitForMultipleObjects(nCount:ULONG;CONST lpHandle:HANDLE;
  2454.                                         bWaitAll:BOOL;dwMilliseconds:ULONG):ULONG;
  2455.                    APIENTRY;  'PMWINX' index 710;
  2456.         PROCEDURE Sleep(dwMilliseconds:ULONG);
  2457.                    APIENTRY;  'PMWINX' index 673;
  2458.         FUNCTION LoadResource(hModule:HINSTANCE;hResInfo:HRSRC):HGLOBAL;
  2459.                    APIENTRY;  'PMWINX' index 5007;
  2460.         FUNCTION SizeofResource(hModule:HINSTANCE;hResInfo:HRSRC):ULONG;
  2461.                    APIENTRY;  'PMWINX' index 672;
  2462.         FUNCTION GlobalDeleteAtom(nAtom:ATOM):ATOM;
  2463.                    APIENTRY;  'PMWINX' index 397;
  2464.         FUNCTION InitAtomTable(nSize:ULONG):BOOL;
  2465.                    APIENTRY;  'PMWINX' index 418;
  2466.         FUNCTION DeleteAtom(nAtom:ATOM):ATOM;
  2467.                    APIENTRY;  'PMWINX' index 133;
  2468.         FUNCTION SetHandleCount(uNumber:ULONG):ULONG;
  2469.                    APIENTRY;  'PMWINX' index 623;
  2470.         FUNCTION GetLogicalDrives:ULONG;
  2471.                    APIENTRY;  'PMWINX' index 303;
  2472.         FUNCTION LockFile(hFile:HANDLE;dwFileOffsetLow,dwFileOffsetHigh:ULONG;
  2473.                           dwNumbersToLockLow,dwNumbersToLockHigh:ULONG):BOOL;
  2474.                    APIENTRY;  'PMWINX' index 475;
  2475.         FUNCTION UnlockFile (hFile:HANDLE;dwFileOffsetLow,dwFileOffsetHigh:ULONG;
  2476.                           dwNumbersToUnlockLow,dwNumbersToUnlockHigh:ULONG):BOOL;
  2477.                    APIENTRY;  'PMWINX' index 702;
  2478.         {FUNCTION LockFileEx(hFile:HANDLE;dwFlags,dwReserved:ULONG;
  2479.                             nNumberOfBytesToLockLow,nNumberOfBytesToLockHigh:ULONG;
  2480.                             VAR lpOverlapped:OVERLAPPED):BOOL;
  2481.                    APIENTRY;  'PMWINX' index'LockFileEx'; not supported}
  2482.         {FUNCTION UnlockFileEx(hFile:HANDLE;dwFlags,dwReserved:ULONG;
  2483.                             nNumberOfBytesToUnlockLow,nNumberOfBytesToUnlockHigh:ULONG;
  2484.                             VAR lpOverlapped:OVERLAPPED):BOOL;
  2485.                    APIENTRY;  'PMWINX' index'UnlockFileEx'; not supported}
  2486.         FUNCTION GetFileInformationByHandle(hFile:HANDLE;
  2487.                               VAR lpFileInformation:BY_HANDLE_FILE_INFORMATION):BOOL;
  2488.                    APIENTRY;  'PMWINX' index 285;
  2489.         FUNCTION GetFileType(hFile:HANDLE):ULONG;
  2490.                    APIENTRY;  'PMWINX' index 289;
  2491.         FUNCTION GetFileSize(hFile:HANDLE;VAR lpFileSizeHigh:ULONG):ULONG;
  2492.                    APIENTRY;  'PMWINX' index 286;
  2493.         FUNCTION GetStdHandle(nStdHandle:ULONG):HANDLE;
  2494.                    APIENTRY;  'PMWINX' index 1001;
  2495.         FUNCTION SetStdHandle(nStdHandle:ULONG;hHandle:HANDLE):BOOL;
  2496.                    APIENTRY;  'PMWINX' index 1002;
  2497.         FUNCTION WriteFile(hFile:HANDLE;CONST lpBuffer;nNumberOfBytesToWrite:ULONG;
  2498.                            VAR lpNumberOfBytesWritten:ULONG;
  2499.                            VAR lpOverlapped:OVERLAPPED):BOOL;
  2500.                    APIENTRY;  'PMWINX' index 717;
  2501.         FUNCTION ReadFile(hFile:HANDLE;VAR lpBuffer;nNumberOfBytesToRead:ULONG;
  2502.                           VAR lpNumberOfBytesRead:ULONG;
  2503.                           VAR lpOverlapped:OVERLAPPED):BOOL;
  2504.                    APIENTRY;  'PMWINX' index 535;
  2505.         FUNCTION FlushFileBuffers(hFile:HANDLE):BOOL;
  2506.                    APIENTRY;  'PMWINX' index 219;
  2507.         {FUNCTION DeviceIoControl(hDevice:HANDLE;dwloControlCode:ULONG;
  2508.                                  VAR lpInBuffer;nInBufferSize:ULONG;
  2509.                                  VAR lpOutBuffer;nOutBufferSize:ULONG;
  2510.                                  VAR lpBytesReturned:ULONG;
  2511.                                  VAR lpOverlapped:OVERLAPPED):BOOL;
  2512.                    APIENTRY;  'PMWINX' index'DeviceIoControl'; not supported}
  2513.         FUNCTION SetEndOfFile(hFile:HANDLE):BOOL;
  2514.                    APIENTRY;  'PMWINX' index 613;
  2515.         FUNCTION SetFilePointer(hFile:HANDLE;lDistanceToMove:LONG;
  2516.                                 VAR lpDistanceToMoveHigh:LONG;
  2517.                                 dwMoveMethod:ULONG):ULONG;
  2518.                    APIENTRY;  'PMWINX' index 618;
  2519.         FUNCTION FindClose(hFindFile:HANDLE):BOOL;
  2520.                    APIENTRY;  'PMWINX' index 210;
  2521.         FUNCTION GetFileTime(hFile:HANDLE;VAR lpCreationTime,lpLastAccessTime,
  2522.                              lpLastWriteTime:FILETIME):BOOL;
  2523.                    APIENTRY;  'PMWINX' index 287;
  2524.         FUNCTION SetFileTime(hFile:HANDLE;VAR lpCreationTime,lpLastAccessTime,
  2525.                              lpLastWriteTime:FILETIME):BOOL;
  2526.                    APIENTRY;  'PMWINX' index 619;
  2527.         FUNCTION CloseHandle(hObject:HANDLE):BOOL;
  2528.                    APIENTRY;  'PMWINX' index 44;
  2529.         FUNCTION DuplicateHandle(hSourceProcessHandle,hSourceHandle:HANDLE;
  2530.                                  hTargetProcessHandle:HANDLE;VAR lpTargetHandle:HANDLE;
  2531.                                  dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  2532.                                  dwOptions:ULONG):BOOL;
  2533.                    APIENTRY;  'PMWINX' index 163;
  2534.         {FUNCTION GetHandleInformation(hObject:HANDLE;VAR lpdwFlags:ULONG):BOOL;
  2535.                    APIENTRY;  'PMWINX' index'GetHandleInformation'; not supported}
  2536.         {FUNCTION SetHandleInformation(hObject:HANDLE;dwMask,dwFlags:ULONG):BOOL;
  2537.                    APIENTRY;  'PMWINX' index'SetHandleInformation'; not supported}
  2538.         FUNCTION LoadModule(CONST lpModuleName:CSTRING;lpParameterBlock:POINTER):ULONG;
  2539.                    APIENTRY;  'PMWINX' index 463;
  2540.         FUNCTION WinExec(CONST lpCmdLine:CSTRING;uCmdShow:ULONG):ULONG;
  2541.                    APIENTRY;  'PMWINX' index 714;
  2542.         {FUNCTION BuildCommDCB(VAR lpDef:CSTRING;VAR lpDCB:DCB):BOOL;
  2543.                    APIENTRY;  'PMWINX' index'BuildCommDCB';
  2544.         FUNCTION BuildCommDCBAndTimeouts(VAR lpDef:CSTRING;VAR lpDCB:DCB;
  2545.                                          VAR lpCommTimeouts:COMMTIMEOUTS):BOOL;
  2546.                    APIENTRY;  'PMWINX' index'BuildCommDCBAndTimeouts';}
  2547.         {FUNCTION ClearCommBreak(hFile:HANDLE):BOOL;
  2548.                    APIENTRY;  'PMWINX' index'ClearCommBreak'; not supported}
  2549.         {FUNCTION ClearCommError(hFile:HANDLE;VAR lpErrors:ULONG;
  2550.                                 VAR lpStat:COMSTAT):BOOL;
  2551.                    APIENTRY;  'PMWINX' index'ClearCommError';}
  2552.         {FUNCTION SetupComm(hFile:HANDLE;dwInQueue,dwOutQueue:ULONG):BOOL;
  2553.                    APIENTRY;  'PMWINX' index'SetupComm'; not supported}
  2554.         {FUNCTION EscapeCommFunction(hFile:HANDLE;dwFunc:ULONG):BOOL;
  2555.                    APIENTRY;  'PMWINX' index'EscapeCommFunction'; not supported}
  2556.         {FUNCTION GetCommConfig(hCommDev:HANDLE;VAR lpCC:COMMCONFIG;
  2557.                                VAR lpdwSize:ULONG):BOOL;
  2558.                    APIENTRY;  'PMWINX' index'GetCommConfig';}
  2559.         {FUNCTION GetCommMask(hFile:HANDLE;VAR lpEvtMask:ULONG):BOOL;
  2560.                    APIENTRY;  'PMWINX' index'GetCommMask'; not supported}
  2561.         {FUNCTION GetCommProperties(hFile:HANDLE;VAR lpCommProp:COMMPROP):BOOL;
  2562.                    APIENTRY;  'PMWINX' index'GetCommProperties'; not supported}
  2563.         {FUNCTION GetCommModemStatus(hFile:HANDLE;VAR lpModemStat:ULONG):BOOL;
  2564.                    APIENTRY;  'PMWINX' index'GetCommModemStatus'; not supported}
  2565.         {FUNCTION GetCommState(hFile:HANDLE;VAR lpDCB:DCB):BOOL;
  2566.                    APIENTRY;  'PMWINX' index'GetCommState';
  2567.         FUNCTION GetCommTimeouts(hFile:HANDLE;VAR lpCommTimeouts:COMMTIMEOUTS):BOOL;
  2568.                    APIENTRY;  'PMWINX' index'GetCommTimeouts';
  2569.         FUNCTION PurgeComm(hFile:HANDLE;dwFlags:ULONG):BOOL;
  2570.                    APIENTRY;  'PMWINX' index'PurgeComm';
  2571.         FUNCTION SetCommBreak(hFile:HANDLE):BOOL;
  2572.                    APIENTRY;  'PMWINX' index'SetCommBreak';
  2573.         FUNCTION SetCommConfig(hCommDev:HANDLE;VAR lpCC:COMMCONFIG;
  2574.                                dwSize:ULONG):BOOL;
  2575.                    APIENTRY;  'PMWINX' index'SetCommConfig';}
  2576.         {FUNCTION SetCommMask(hFile:HANDLE;dwEvtMask:ULONG):BOOL;
  2577.                    APIENTRY;  'PMWINX' index'SetCommMask'; not supported}
  2578.         {FUNCTION SetCommState(hFile:HANDLE;VAR lpDCB:DCB):BOOL;
  2579.                    APIENTRY;  'PMWINX' index'SetCommState';
  2580.         FUNCTION SetCommTimeouts(hFile:HANDLE;VAR lpCommTimeouts:COMMTIMEOUTS):BOOL;
  2581.                    APIENTRY;  'PMWINX' index'SetCommTimeouts';}
  2582.         {FUNCTION TransmitCommChar(hFile:HANDLE;cChar:CHAR):BOOL;
  2583.                    APIENTRY;  'PMWINX' index'TransmitCommChar'; not supported}
  2584.         {FUNCTION WaitCommEvent(hFile:HANDLE;VAR lpEvtMask:ULONG;
  2585.                                VAR lpOverlapped:OVERLAPPED):BOOL;
  2586.                    APIENTRY;  'PMWINX' index'WaitCommEvent'; not supported}
  2587.         {FUNCTION SetTapePosition(hDevice:HANDLE;dwPositionMethod,dwPartition:ULONG;
  2588.                                  dwOffsetLow,dwOffsetHigh:ULONG;bImmediate:BOOL):ULONG;
  2589.                    APIENTRY;  'PMWINX' index'SetTapePosition'; not supported}
  2590.         {FUNCTION GetTapePosition(hDevice:HANDLE;dwPositionType:ULONG;
  2591.                                  VAR lpdwPartition,lpdwOffsetLow,lpdwOffsetHigh:ULONG):ULONG;
  2592.                    APIENTRY;  'PMWINX' index'GetTapePosition'; not supported}
  2593.         {FUNCTION PrepareTape(hDevice:HANDLE;dwOperation:ULONG;bImmediate:BOOL):ULONG;
  2594.                    APIENTRY;  'PMWINX' index'PrepareTape'; not supported}
  2595.         {FUNCTION EraseTape(hDevice:HANDLE;dwEraseType:ULONG;bImmediate:BOOL):ULONG;
  2596.                    APIENTRY;  'PMWINX' index'EraseTape'; not supported}
  2597.         {FUNCTION CreateTapePartition(hDevice:HANDLE;dwPartitionMethod:ULONG;
  2598.                                      dwCount,dwSize:ULONG):ULONG;
  2599.                    APIENTRY;  'PMWINX' index'CreateTapePartition'; not supported}
  2600.         {FUNCTION WriteTapemark(hDevice:HANDLE;dwTapemarkType,dwTapeMarkCount:ULONG;
  2601.                                bImmediate:BOOL):ULONG;
  2602.                    APIENTRY;  'PMWINX' index'WriteTapemark'; not supported}
  2603.         {FUNCTION GetTapeStatus(hDevice:HANDLE):ULONG;
  2604.                    APIENTRY;  'PMWINX' index'GetTapeStatus'; not supported}
  2605.         {FUNCTION GetTapeParameters(hDevice:HANDLE;dwOperation:ULONG;
  2606.                                    VAR lpdwSize:ULONG;VAR lpTapeInformation):ULONG;
  2607.                    APIENTRY;  'PMWINX' index'GetTapeParameters'; not supported}
  2608.         {FUNCTION SetTapeParameters(hDevice:HANDLE;dwOperation:ULONG;
  2609.                                    VAR lpTapeInformation):ULONG;
  2610.                    APIENTRY;  'PMWINX' index'SetTapeParameters'; not supported}
  2611.         FUNCTION Beep(dwFreq,dwDuration:ULONG):BOOL;
  2612.                    APIENTRY;  'PMWINX' index 14;
  2613.         {PROCEDURE OpenSound;
  2614.                    APIENTRY;  'PMWINX' index'OpenSound'; not supported}
  2615.         {PROCEDURE CloseSound;
  2616.                    APIENTRY;  'PMWINX' index'CloseSound'; not supported}
  2617.         {PROCEDURE StartSound;
  2618.                    APIENTRY;  'PMWINX' index'StartSound'; not supported}
  2619.         {PROCEDURE StopSound;
  2620.                    APIENTRY;  'PMWINX' index'StopSound'; not supported}
  2621.         {FUNCTION WaitSoundState(nState:ULONG):ULONG;
  2622.                    APIENTRY;  'PMWINX' index'WaitSoundState'; not supported}
  2623.         {FUNCTION SyncAllVoices:ULONG;
  2624.                    APIENTRY;  'PMWINX' index'SyncAllVoices'; not supported}
  2625.         {FUNCTION CountVoiceNotes(nVoice:ULONG):ULONG;
  2626.                    APIENTRY;  'PMWINX' index'CountVoiceNotes'; not supported}
  2627.         {FUNCTION GetThresholdEvent:LPDWORD;
  2628.                    APIENTRY;  'PMWINX' index'GetThresholdEvent'; not supported}
  2629.         {FUNCTION GetThresholdStatus:ULONG;
  2630.                    APIENTRY;  'PMWINX' index'GetThresholdStatus'; not supported}
  2631.         {FUNCTION SetSoundNoise(nSource,nDuration:ULONG):ULONG;
  2632.                    APIENTRY;  'PMWINX' index'SetSoundNoise'; not supported}
  2633.         {FUNCTION SetVoiceAccent(nVoice,nTempo,nVolume,nMode,nPitch:ULONG):ULONG;
  2634.                    APIENTRY;  'PMWINX' index'SetVoiceAccent'; not supported}
  2635.         {FUNCTION SetVoiceEnvelope(nVoice,nShape,nRepeat:ULONG):ULONG;
  2636.                    APIENTRY;  'PMWINX' index'SetVoiceEnvelope'; not supported}
  2637.         {FUNCTION SetVoiceNote(nVoice,nValue,nLength,nCdots:ULONG):ULONG;
  2638.                    APIENTRY;  'PMWINX' index'SetVoiceNote'; not supported}
  2639.         {FUNCTION SetVoiceQueueSize(nVoice,nBytes:ULONG):ULONG;
  2640.                    APIENTRY;  'PMWINX' index'SetVoiceQueueSize'; not supported}
  2641.         {FUNCTION SetVoiceSound(nVoice,Frequency,nDuration:ULONG):ULONG;
  2642.                    APIENTRY;  'PMWINX' index'SetVoiceSound'; not supported}
  2643.         {FUNCTION SetVoiceThreshold(nVoice,nNotes:ULONG):ULONG;
  2644.                    APIENTRY;  'PMWINX' index'SetVoiceThreshold'; not supported}
  2645.         FUNCTION MulDiv(nNumber,nNumerator,nDenominator:LONGINT):LONGINT;
  2646.                    APIENTRY;  'PMWINX' index 494;
  2647.         PROCEDURE GetSystemTime(VAR lpSystemTime:SYSTEMTIME);
  2648.                    APIENTRY;  'PMWINX' index 361;
  2649.         FUNCTION SetSystemTime(CONST lpSystemTime:SYSTEMTIME):BOOL;
  2650.                    APIENTRY;  'PMWINX' index 646;
  2651.         PROCEDURE GetLocalTime(VAR lpSystemTime:SYSTEMTIME);
  2652.                    APIENTRY;  'PMWINX' index 301;
  2653.         FUNCTION SetLocalTime(CONST lpSystemTime:SYSTEMTIME):BOOL;
  2654.                    APIENTRY;  'PMWINX' index 625;
  2655.         {PROCEDURE GetSystemInfo(VAR lpSystemInfo:SYSTEM_INFO);
  2656.                    APIENTRY;  'PMWINX' index'GetSystemInfo'; not supported}
  2657.         FUNCTION SystemTimeToTzSpecificLocalTime(VAR lpTimeZoneInfo:TIME_ZONE_INFORMATION;
  2658.                          VAR lpUniversalTime,lpLocalTime:SYSTEMTIME):BOOL;
  2659.                    APIENTRY;  'PMWINX' index 685;
  2660.         FUNCTION GetTimeZoneInformation(VAR lpTimeZoneInfo:TIME_ZONE_INFORMATION):ULONG;
  2661.                    APIENTRY;  'PMWINX' index 374;
  2662.         FUNCTION SetTimeZoneInformation(CONST lpTimeZoneInfo:TIME_ZONE_INFORMATION):BOOL;
  2663.                    APIENTRY;  'PMWINX' index 652;
  2664.         FUNCTION SystemTimeToFileTime(CONST lpSystemTime:SYSTEMTIME;
  2665.                                       VAR lpFileTime:FILETIME):BOOL;
  2666.                    APIENTRY;  'PMWINX' index 684;
  2667.         FUNCTION FileTimeToLocalFileTime(CONST lpFileTime:FILETIME;
  2668.                                          VAR lpLocalFileTime:FILETIME):BOOL;
  2669.                    APIENTRY;  'PMWINX' index 204;
  2670.         FUNCTION LocalFileTimeToFileTime(CONST lpLocalFileTime:FILETIME;
  2671.                                          VAR lpFileTime:FILETIME):BOOL;
  2672.                    APIENTRY;  'PMWINX' index 467;
  2673.         FUNCTION FileTimeToSystemTime(CONST lpFileTime:FILETIME;
  2674.                                       VAR lpSystemTime:SYSTEMTIME):BOOL;
  2675.                    APIENTRY;  'PMWINX' index 205;
  2676.         FUNCTION CompareFileTime(CONST lpFileTime1,lpFileTime2:FILETIME):LONG;
  2677.                    APIENTRY;  'PMWINX' index 49;
  2678.         FUNCTION FileTimeToDosDateTime(CONST lpFileTime:FILETIME;
  2679.                                        VAR lpFatDate,lpFatTime:WORD):BOOL;
  2680.                    APIENTRY;  'PMWINX' index 203;
  2681.         FUNCTION DosDateTimeToFileTime(wFatDate,wFatTime:WORD;VAR lpFileTime:FILETIME):BOOL;
  2682.                    APIENTRY;  'PMWINX' index 154;
  2683.         FUNCTION GetTickCount:ULONG;
  2684.                    APIENTRY;  'PMWINX' index 373;
  2685.         {FUNCTION SetSystemTimeAdjustment(dwTimeAdjustment:ULONG;
  2686.                                          bTimeAdjustmentDisabled:BOOL):BOOL;
  2687.                    APIENTRY;  'PMWINX' index'SetSystemTimeAdjustment'; not supported}
  2688.         {FUNCTION GetSystemTimeAdjustment(VAR lpTimeAdjustment,lpTimeIncrement:ULONG;
  2689.                                          VAR lpTimeAdjustmentDisabled:BOOL):BOOL;
  2690.                    APIENTRY;  'PMWINX' index'GetSystemTimeAdjustment'; not supported}
  2691.         {FUNCTION FormatMessage(dwFlags:ULONG;VAR lpSource;
  2692.                                dwMessageId,dwLanguageId:ULONG;
  2693.                                VAR lpBuffer:CSTRING;nSize:ULONG;
  2694.                                Arguments:POINTER):ULONG;
  2695.                    APIENTRY;  'PMWINX' index'FormatMessageA'; not supported}
  2696.         {FUNCTION CreatePipe(VAR hReadPipe,hWritePipe:HANDLE;
  2697.                             VAR lpPipeAttributes:SECURITY_ATTRIBUTES;
  2698.                             nSize:ULONG):BOOL;
  2699.                    APIENTRY;  'PMWINX' index'CreatePipe'; not supported}
  2700.         {FUNCTION ConnectNamedPipe(hNamedPipe:HANDLE;VAR lpOverlapped:OVERLAPPED):BOOL;
  2701.                    APIENTRY;  'PMWINX' index'ConnectNamedPipe'; not supported}
  2702.         {FUNCTION DisconnectNamedPipe(hNamedPipe:HANDLE):BOOL;
  2703.                    APIENTRY;  'PMWINX' index'DisconnectNamedPipe'; not supported}
  2704.         {FUNCTION SetNamedPipeHandleState(hNamedPipe:HANDLE;
  2705.                          VAR lpMode,lpMaxCollectionCount:ULONG;
  2706.                          VAR lpCollectDataTimeOut:ULONG):BOOL;
  2707.                    APIENTRY;  'PMWINX' index'SetNamedPipeHandleState'; not supported}
  2708.         {FUNCTION GetNamedPipeInfo(hNamedPipe:HANDLE;
  2709.                             VAR lpFlags,lpOutBufferSize:ULONG;
  2710.                             VAR lpInBufferSize,lpMaxInstances:ULONG):BOOL;
  2711.                    APIENTRY;  'PMWINX' index'GetNamedPipeInfo'; not supported}
  2712.         {FUNCTION PeekNamedPipe(hNamedPipe:HANDLE;VAR lpBuffer;nBufferSize:ULONG;
  2713.                                VAR lpBytesRead,lpTotalBytesAvail:ULONG;
  2714.                                VAR lpBytesLeftThisMessage:ULONG):BOOL;
  2715.                    APIENTRY;  'PMWINX' index'PeekNamedPipe'; not supported}
  2716.         {FUNCTION TransactNamedPipe(hNamedPipe:HANDLE;VAR lpInBuffer;nInBufferSize:ULONG;
  2717.                                    VAR lpOutBuffer;nOutBufferSize:ULONG;
  2718.                                    VAR lpBytesRead:ULONG;
  2719.                                    VAR lpOverlapped:OVERLAPPED):BOOL;
  2720.                    APIENTRY;  'PMWINX' index'TransactNamedPipe'; not supported}
  2721.         {FUNCTION CreateMailslot(CONST lpName:CSTRING;nMaxMessageSize:ULONG;
  2722.                                 lReadTimeOut:ULONG;
  2723.                                 VAR lpSecurityAttributes:SECURITY_ATTRIBUTES):HANDLE;
  2724.                    APIENTRY;  'PMWINX' index'CreateMailslotA'; not supported}
  2725.         {FUNCTION GetMailslotInfo(hMailslot:HANDLE;VAR lpMaxMessageSize:ULONG;
  2726.                                  VAR lpNextSize,lpMessageCount:ULONG;
  2727.                                  VAR lpReadTimeout:ULONG):BOOL;
  2728.                    APIENTRY;  'PMWINX' index'GetMailslotInfo'; not supported}
  2729.         {FUNCTION SetMailslotInfo(hMailslot:HANDLE;lReadTimeOut:ULONG):BOOL;
  2730.                    APIENTRY;  'PMWINX' index'SetMailslotInfo'; not supported}
  2731.         {FUNCTION MapViewOfFile(hFileMappingObject:HANDLE;dwDesiredAccess:ULONG;
  2732.                                dwFileOffsetHigh,dwFileOffsetLow:ULONG;
  2733.                                dwNumberOfBytesToMap:ULONG):POINTER;
  2734.                    APIENTRY;  'PMWINX' index'MapViewOfFile'; not supported}
  2735.         {FUNCTION FlushViewOfFile(lpBasAddress:POINTER;dwNumberOfBytesToFlush:ULONG):BOOL;
  2736.                    APIENTRY;  'PMWINX' index'FlushViewOfFile'; not supported}
  2737.         {FUNCTION UnmapViewOfFile(lpBaseAddress:POINTER):BOOL;
  2738.                    APIENTRY;  'PMWINX' index'UnmapViewOfFile'; not supported}
  2739.         FUNCTION lstrcmp(CONST lpString1,lpString2:CSTRING):LONGINT;
  2740.                    APIENTRY;  'PMWINX' index 479;
  2741.         FUNCTION lstrcmpi(CONST lpString1,lpString2:CSTRING):LONGINT;
  2742.                    APIENTRY;  'PMWINX' index 480;
  2743.         {FUNCTION lstrcpyn(VAR lpString1:CSTRING;CONST lpString2:CSTRING;
  2744.                           iMaxLength:LONGINT):PChar;
  2745.                    APIENTRY;  'PMWINX' index'lstrcpynA'; not supported}
  2746.         FUNCTION lstrcpy(VAR lpString1:CSTRING;CONST lpString2:CSTRING):PChar;
  2747.                    APIENTRY;  'PMWINX' index 481;
  2748.         FUNCTION lstrcat(VAR lpString1:CSTRING;CONST lpString2:CSTRING):PChar;
  2749.                    APIENTRY;  'PMWINX' index 478;
  2750.         FUNCTION lstrlen(CONST lpString:CSTRING):LONGINT;
  2751.                    APIENTRY;  'PMWINX' index 482;
  2752.         FUNCTION OpenFile(CONST lpFileName:CSTRING;VAR lpReOpenBuf:OFSTRUCT;
  2753.                           uStyle:ULONG):HFILE;
  2754.                    APIENTRY;  'PMWINX' index 504;
  2755.         FUNCTION _lopen(CONST lpPathName:CSTRING;iReadWrite:LONGINT):HFILE;
  2756.                    APIENTRY;  'PMWINX' index 726;
  2757.         FUNCTION _lcreat(CONST lpPathName:CSTRING;iAttribute:LONGINT):HFILE;
  2758.                    APIENTRY;  'PMWINX' index 724;
  2759.         FUNCTION _lread(ahFile:HFILE;VAR lpBuffer;uBytes:ULONG):ULONG;
  2760.                    APIENTRY;  'PMWINX' index 727;
  2761.         FUNCTION _lwrite(ahFile:HFILE;CONST Buffer;uBytes:ULONG):ULONG;
  2762.                    APIENTRY;  'PMWINX' index 728;
  2763.         {FUNCTION _hread(ahFile:HFILE;VAR lpBuffer;lBytes:LONGINT):LONGINT;
  2764.                    APIENTRY;  'PMWINX' index'_hread'; not supported}
  2765.         {FUNCTION _hwrite(ahFile:HFILE;CONST lpBuffer;lBytes:LONGINT):LONGINT;
  2766.                    APIENTRY;  'PMWINX' index'_hwrite'; not supported}
  2767.         FUNCTION _lclose(ahFile:HFILE):HFILE;
  2768.                    APIENTRY;  'PMWINX' index 723;
  2769.         FUNCTION _llseek(ahFile:HFILE;lOffset:LONG;iOrigin:LONGINT):LONG;
  2770.                    APIENTRY;  'PMWINX' index 725;
  2771.         {FUNCTION IsTextUnicode(CONST lpBuffer;cb:LONGINT;VAR lpi:LONGINT):BOOL;
  2772.                    APIENTRY;  'PMWINX' index'IsTextUnicode'; not supported}
  2773.         FUNCTION TlsAlloc:ULONG;
  2774.                    APIENTRY;  'PMWINX' index 692;
  2775.         FUNCTION TlsGetValue(dwTlsIndex:ULONG):POINTER;
  2776.                    APIENTRY;  'PMWINX' index 694;
  2777.         FUNCTION TlsSetValue(dwTlsIndex:ULONG;lpTlsValue:POINTER):BOOL;
  2778.                    APIENTRY;  'PMWINX' index 695;
  2779.         FUNCTION TlsFree(dwTlsIndex:ULONG):BOOL;
  2780.                    APIENTRY;  'PMWINX' index 693;
  2781.         {FUNCTION SleepEx(dwMilliseconds:ULONG;bAlertable:BOOL):ULONG;
  2782.                    APIENTRY;  'PMWINX' index'SleepEx'; not supported}
  2783.         {FUNCTION WaitForSingleObjectEx(hHandle:HANDLE;dwMillieconds:ULONG;
  2784.                                        bAlertable:BOOL):ULONG;
  2785.                    APIENTRY;  'PMWINX' index'WaitForSingleObjectEx'; not supported}
  2786.         {FUNCTION WaitForMultipleObjectsEx(nCount:ULONG;CONST lpHandles:HANDLE;
  2787.                                           bWaitAll:BOOL;dwMilliseconds:ULONG;
  2788.                                           bAlertable:BOOL):ULONG;
  2789.                    APIENTRY;  'PMWINX' index'WaitForMultipleObjectsEx'; not supported}
  2790.         {FUNCTION ReadFileEx(hFile:HANDLE;VAR lpBuffer;nNumberOfBytesToRead:ULONG;
  2791.                             VAR lpOverlapped:OVERLAPPED;
  2792.                             lpCompletionRoutine:LPOVERLAPPED_COMPLETION_ROUTINE):BOOL;
  2793.                    APIENTRY;  'PMWINX' index'ReadFileEx'; not supported}
  2794.         {FUNCTION WriteFileEx(hFile:HANDLE;CONST lpBuffer;nNumberOfBytesToWrite:ULONG;
  2795.                              VAR lpOverlapped:OVERLAPPED;
  2796.                              lpCompletionRoutine:LPOVERLAPPED_COMPLETION_ROUTINE):BOOL;
  2797.                    APIENTRY;  'PMWINX' index'WriteFileEx'; not supported}
  2798.         {FUNCTION BackupRead(hFile:HANDLE;VAR lpBuffer;nNumberOfBytesToRead:ULONG;
  2799.                             VAR lpNumberOfBytesRead:ULONG;bAbort:BOOL;
  2800.                             bProcessSecurity:BOOL;VAR lpContext:POINTER):BOOL;
  2801.                    APIENTRY;  'PMWINX' index'BackupRead'; not supported}
  2802.         {FUNCTION BackupSeek(hFile:HANDLE;dwLowBytesToSeek,dwHighBytesToSeek:ULONG;
  2803.                             VAR lpdwLowByteSeeked,lpdwHighByteSeeked:ULONG;
  2804.                             VAR lpContext:POINTER):BOOL;
  2805.                    APIENTRY;  'PMWINX' index'BackupSeek'; not supported}
  2806.         {FUNCTION BackupWrite(hFile:HANDLE;VAR lpBuffer;nNumberOfBytesToWrite:ULONG;
  2807.                              VAR lpNumberOfBytesWritten:ULONG;bAbort:BOOL;
  2808.                              bProcessSecurity:BOOL;VAR lpContext:POINTER):BOOL;
  2809.                    APIENTRY;  'PMWINX' index'BackupWrite'; not supported}
  2810.         FUNCTION CreateMutex(VAR lpMutexAttributes:SECURITY_ATTRIBUTES;
  2811.                              bInitialOwner:BOOL;CONST lpName:CSTRING):HANDLE;
  2812.                    APIENTRY;  'PMWINX' index 84;
  2813.         FUNCTION OpenMutex(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  2814.                            CONST lpName:CSTRING):HANDLE;
  2815.                    APIENTRY;  'PMWINX' index 505;
  2816.         FUNCTION CreateEvent(VAR lpEventAttributes:SECURITY_ATTRIBUTES;
  2817.                              bManualReset,bInitialState:BOOL;
  2818.                              CONST lpName:CSTRING):HANDLE;
  2819.                    APIENTRY;  'PMWINX' index 73;
  2820.         FUNCTION OpenEvent(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  2821.                            CONST lpName:CSTRING):HANDLE;
  2822.                    APIENTRY;  'PMWINX' index 503;
  2823.         FUNCTION CreateSemaphore(VAR lpSemaphoreAttributes:SECURITY_ATTRIBUTES;
  2824.                                  lInitialCount,lMaximumCount:LONG;
  2825.                                  CONST lpName:CSTRING):HANDLE;
  2826.                    APIENTRY;  'PMWINX' index 96;
  2827.         FUNCTION OpenSemaphore(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  2828.                                CONST lpName:CSTRING):HANDLE;
  2829.                    APIENTRY;  'PMWINX' index 507;
  2830.         {FUNCTION CreateFileMapping(hFile:HANDLE;
  2831.                                    VAR lpFileMappingAttributes:SECURITY_ATTRIBUTES;
  2832.                                    flProtect,dwMaximumSizeHigh,dwMaximumSizeLow:ULONG;
  2833.                                    CONST lpName:CSTRING):HANDLE;
  2834.                    APIENTRY;  'PMWINX' index'CreateFileMappingA'; not supported}
  2835.         {FUNCTION OpenFileMapping(dwDesiredAccess:ULONG;bInheritHandle:BOOL;
  2836.                                  CONST lpName:CSTRING):HANDLE;
  2837.                    APIENTRY;  'PMWINX' index'OpenFileMappingA'; not supported}
  2838.         FUNCTION GetLogicalDriveStrings(nBufferLength:ULONG;
  2839.                                         VAR lpBuffer:CSTRING):ULONG;
  2840.                    APIENTRY;  'PMWINX' index 302;
  2841.         FUNCTION LoadLibrary(CONST lpLibFileName:CSTRING):HINSTANCE;
  2842.                    APIENTRY;  'PMWINX' index 461;
  2843.         {FUNCTION LoadLibraryEx(CONST lpLibFileName:CSTRING;hFile:HANDLE;
  2844.                                dwFlags:ULONG):HINSTANCE;
  2845.                    APIENTRY;  'PMWINX' index'LoadLibraryExA'; not supported}
  2846.         FUNCTION GetModuleFileName(hModule:HINSTANCE;VAR lpFileName;
  2847.                                    nSize:ULONG):ULONG;
  2848.                    APIENTRY;  'PMWINX' index 318;
  2849.         FUNCTION GetModuleHandle(CONST lpModuleName:CSTRING):HMODULE;
  2850.                    APIENTRY;  'PMWINX' index 319;
  2851.         FUNCTION CreateProcess(CONST lpApplicationName:CSTRING;VAR lpCommandLine:CSTRING;
  2852.                                VAR lpProcessAttributes,lpThreadAttributes:SECURITY_ATTRIBUTES;
  2853.                                bInheritHandles:BOOL;dwCreationFlags:ULONG;
  2854.                                lpEnvironment:POINTER;CONST lpCurrentDir:CSTRING;
  2855.                                VAR lpStartupInfo:STARTUPINFO;
  2856.                                VAR lpProcessInformation:PROCESS_INFORMATION):BOOL;
  2857.                    APIENTRY;  'PMWINX' index 92;
  2858.         {FUNCTION SetProcessShutdownParameters(dwLevel,dwFlags:ULONG):BOOL;
  2859.                    APIENTRY;  'PMWINX' index'SetProcessShutdownParameters'; not supported}
  2860.         {FUNCTION GetProcessShutdownParameters(VAR lpdwLevel,lpdwFlags:ULONG):BOOL;
  2861.                    APIENTRY;  'PMWINX' index'GetProcessShutdownParameters'; not supported}
  2862.         PROCEDURE FatalAppExit(uAction:ULONG;CONST lpMessageText:CSTRING);
  2863.                    APIENTRY;  'PMWINX' index 201;
  2864.         {PROCEDURE GetStartupInfo(VAR lpStartupInfo:STARTUPINFO);
  2865.                    APIENTRY;  'PMWINX' index'GetStartupInfoA'; not supported}
  2866.         FUNCTION GetCommandLine:PChar;
  2867.                    APIENTRY;  'PMWINX' index 252;
  2868.         FUNCTION GetEnvironmentVariable(CONST lpName:CSTRING;VAR lpBuffer:CSTRING;
  2869.                                         nSize:ULONG):ULONG;
  2870.                    APIENTRY;  'PMWINX' index 283;
  2871.         FUNCTION SetEnvironmentVariable(CONST lpName,lpValue:CSTRING):BOOL;
  2872.                    APIENTRY;  'PMWINX' index 615;
  2873.         {FUNCTION ExpandEnvironmentStrings(CONST lpSrc:CSTRING;VAR lpDst:CSTRING;
  2874.                                           nSize:ULONG):ULONG;
  2875.                    APIENTRY;  'PMWINX' index'ExpandEnvironmentStringsA'; not supported}
  2876.         PROCEDURE OutputDebugString(CONST lpOutputString:CSTRING);
  2877.                    APIENTRY;  'PMWINX' index 508;
  2878.         FUNCTION FindResource(hModule:HINSTANCE;CONST lpName,lpType:CSTRING):HRSRC;
  2879.                    APIENTRY;  'PMWINX' index 213;
  2880.         {FUNCTION FindResourceEx(hModule:HINSTANCE;CONST lpType,lpName:CSTRING;
  2881.                                 wLanguage:WORD):HRSRC;
  2882.                    APIENTRY;  'PMWINX' index'FindResourceExA'; not supported}
  2883.         {FUNCTION EnumResourceTypes(hModule:HINSTANCE;lpEnumFunc:ENUMRESTYPEPROC;
  2884.                                    lParam:LONG):BOOL;
  2885.                    APIENTRY;  'PMWINX' index'EnumResourceTypesA'; not supported}
  2886.         {FUNCTION EnumResourceNames(hModule:HINSTANCE;CONST lpType:CSTRING;
  2887.                                    lpEnumFunc:ENUMRESNAMEPROC;lParam:LONG):BOOL;
  2888.                    APIENTRY;  'PMWINX' index'EnumResourceNamesA'; not supported}
  2889.         {FUNCTION EnumResourceLanguages(hModule:HINSTANCE;CONST lpType,lpName:CSTRING;
  2890.                                        lpEnumFunc:ENUMRESLANGPROC;lParam:LONG):BOOL;
  2891.                    APIENTRY;  'PMWINX' index'EnumResourceLanguagesA'; not supported}
  2892.         {FUNCTION BeginUpdateResource(CONST pFileName:CSTRING;
  2893.                                      bDeleteExistingResources:BOOL):HANDLE;
  2894.                    APIENTRY;  'PMWINX' index'BeginUpdateResourceA'; not supported}
  2895.         {FUNCTION UpdateResource(hUpdate:HANDLE;CONST lpType,lpName:CSTRING;
  2896.                                 wLanguage:WORD;lpData:POINTER;
  2897.                                 cbData:ULONG):BOOL;
  2898.                    APIENTRY;  'PMWINX' index'UpdateResourceA'; not supported}
  2899.         {FUNCTION EndUpdateResource(hUpdate:HANDLE;fDiscard:BOOL):BOOL;
  2900.                    APIENTRY;  'PMWINX' index'EndUpdateResourceA'; not supported}
  2901.         FUNCTION GlobalAddAtom(CONST lpString:CSTRING):ATOM;
  2902.                    APIENTRY;  'PMWINX' index 395;
  2903.         FUNCTION GlobalFindAtom(CONST lpString:CSTRING):ATOM;
  2904.                    APIENTRY;  'PMWINX' index 399;
  2905.         FUNCTION GlobalGetAtomName(nAtom:ATOM;VAR lpBuffer:CSTRING;
  2906.                                    nSize:LONGINT):ULONG;
  2907.                    APIENTRY;  'PMWINX' index 402;
  2908.         FUNCTION AddAtom(CONST lpString:CSTRING):ATOM;
  2909.                    APIENTRY;  'PMWINX' index 3;
  2910.         FUNCTION FindAtom(CONST lpString:CSTRING):ATOM;
  2911.                    APIENTRY;  'PMWINX' index 209;
  2912.         FUNCTION GetAtomName(nAtom:ATOM;VAR lpBuffer:CSTRING;nSize:LONG):ULONG;
  2913.                    APIENTRY;  'PMWINX' index 228;
  2914.         FUNCTION GetProfileInt(CONST lpAppName,lpKeyName:CSTRING;
  2915.                                nDefault:LONGINT):ULONG;
  2916.                    APIENTRY;  'PMWINX' index 342;
  2917.         FUNCTION GetProfileString(CONST lpAppName,lpKeyName,lpDefault:CSTRING;
  2918.                                   VAR lpReturnedString:CSTRING;nSize:ULONG):ULONG;
  2919.                    APIENTRY;  'PMWINX' index 343;
  2920.         FUNCTION WriteProfileString(CONST lpAppName,lpKeyName,lpString:CSTRING):BOOL;
  2921.                    APIENTRY;  'PMWINX' index 719;
  2922.         {FUNCTION GetProfileSection(CONST lpAppName:CSTRING;VAR lpReturnedString:CSTRING;
  2923.                                    nSize:ULONG):ULONG;
  2924.                    APIENTRY;  'PMWINX' index'GetProfileSectionA'; not supported}
  2925.         {FUNCTION WriteProfileSection(CONST lpAppName,lpString:CSTRING):BOOL;
  2926.                    APIENTRY;  'PMWINX' index'WriteProfileSectionA'; not supported}
  2927.         FUNCTION GetPrivateProfileInt(CONST lpAppName,lpKeyName:CSTRING;
  2928.                                       nDefault:LONGINT;CONST lpFileName:CSTRING):ULONG;
  2929.                    APIENTRY;  'PMWINX' index 339;
  2930.         FUNCTION GetPrivateProfileString(CONST lpAppName,lpKeyName:CSTRING;
  2931.                                          CONST lpDefault:CSTRING;
  2932.                                          VAR lpReturnedString:CSTRING;
  2933.                                          nSize:ULONG;CONST lpFileName:CSTRING):ULONG;
  2934.                    APIENTRY;  'PMWINX' index 340;
  2935.         FUNCTION WritePrivateProfileString(CONST lpAppName,lpKeyName:CSTRING;
  2936.                                            CONST lpString,lpFileName:CSTRING):BOOL;
  2937.                    APIENTRY;  'PMWINX' index 718;
  2938.         {FUNCTION GetPrivateProfileSection(CONST lpAppName:CSTRING;
  2939.                                           VAR lpReturnedString:CSTRING;
  2940.                                           nSize:ULONG;CONST lpFileName:CSTRING):ULONG;
  2941.                    APIENTRY;  'PMWINX' index'GetPrivateProfileSectionA'; not supported}
  2942.         {FUNCTION WritePrivateProfileSection(CONST lpAppName,lpString:CSTRING;
  2943.                                             CONST lpFileName:CSTRING):BOOL;
  2944.                    APIENTRY;  'PMWINX' index'WritePrivateProfileSectionA'; not supported}
  2945.         FUNCTION GetDriveType(CONST lpRootPathName:CSTRING):ULONG;
  2946.                    APIENTRY;  'PMWINX' index 277;
  2947.         FUNCTION GetSystemDirectory(VAR lpBuffer:CSTRING;uSize:ULONG):ULONG;
  2948.                    APIENTRY;  'PMWINX' index 357;
  2949.         FUNCTION GetTempPath(nBufferLength:ULONG;VAR lpBuffer:CSTRING):ULONG;
  2950.                    APIENTRY;  'PMWINX' index 364;
  2951.         FUNCTION GetTempFileName(CONST lpPathName,lpPrefixString:CSTRING;
  2952.                                  uUnique:ULONG;VAR lpTempFileName:CSTRING):ULONG;
  2953.                    APIENTRY;  'PMWINX' index 363;
  2954.         FUNCTION GetWindowsDirectory(VAR lpBuffer:CSTRING;uSize:ULONG):ULONG;
  2955.                    APIENTRY;  'PMWINX' index 393;
  2956.         FUNCTION SetCurrentDirectory(CONST lpPathName:CSTRING):BOOL;
  2957.                    APIENTRY;  'PMWINX' index 604;
  2958.         FUNCTION GetCurrentDirectory(nBufferLength:ULONG;VAR lpBuffer):ULONG;
  2959.                    APIENTRY;  'PMWINX' index 253;
  2960.         FUNCTION GetDiskFreeSpace(CONST lpRootPathName:CSTRING;
  2961.                                   VAR lpSectorsPerCluster,lpBytesPerSector:ULONG;
  2962.                                   VAR lpNumberOfFreeClusters,lpTotalClusters:ULONG):BOOL;
  2963.                    APIENTRY;  'PMWINX' index 271;
  2964.         FUNCTION CreateDirectory(CONST lpPathName:CSTRING;
  2965.                                  VAR lpSecurityAttributes:SECURITY_ATTRIBUTES):BOOL;
  2966.                    APIENTRY;  'PMWINX' index 69;
  2967.         {FUNCTION CreateDirectoryEx(CONST lpTemplateDir,lpNewDir:CSTRING;
  2968.                                    VAR lpSecurityAttribtes:SECURITY_ATTRIBUTES):BOOL;
  2969.                    APIENTRY;  'PMWINX' index'CreateDirectoryExA'; not supported}
  2970.         FUNCTION RemoveDirectory(CONST lpPathName:CSTRING):BOOL;
  2971.                    APIENTRY;  'PMWINX' index 563;
  2972.         FUNCTION GetFullPathName(CONST lpFileName:CSTRING;nBufferLength:ULONG;
  2973.                                  VAR lpBuffer;VAR lpFilePart:PChar):ULONG;
  2974.                    APIENTRY;  'PMWINX' index 292;
  2975.         {FUNCTION DefineDosDevice(dwFlags:ULONG;CONST lpDeviceName:CSTRING;
  2976.                                  CONST lpTargetPath:CSTRING):BOOL;
  2977.                    APIENTRY;  'PMWINX' index'DefineDosDeviceA'; not supported}
  2978.         {FUNCTION QueryDosDevice(CONST lpDeviceName:CSTRING;VAR lpTargetPath:CSTRING;
  2979.                                 ucchMax:ULONG):ULONG;
  2980.                    APIENTRY;  'PMWINX' index'QueryDosDeviceA'; not supported}
  2981.         FUNCTION CreateFile(CONST lpFileName:CSTRING;dwDesiredAccess:ULONG;
  2982.                             dwShareMode:ULONG;VAR lpSecurityAttributes:SECURITY_ATTRIBUTES;
  2983.                             deCreationDisposition,dwFlagsAndAttributes:ULONG;
  2984.                             hTemplateFile:HANDLE):HANDLE;
  2985.                    APIENTRY;  'PMWINX' index 74;
  2986.         FUNCTION SetFileAttributes(CONST lpFileName:CSTRING;
  2987.                                    dwFileAttributes:ULONG):BOOL;
  2988.                    APIENTRY;  'PMWINX' index 617;
  2989.         FUNCTION GetFileAttributes(CONST lpFileName:CSTRING):ULONG;
  2990.                    APIENTRY;  'PMWINX' index 284;
  2991.         {FUNCTION GetCompressedFileSize(CONST lpFileName:CSTRING;
  2992.                                        VAR lpFileSizeHigh:ULONG):ULONG;
  2993.                    APIENTRY;  'PMWINX' index'GetCompressedFileSizeA'; not supported}
  2994.         FUNCTION DeleteFile(CONST lpFileName:CSTRING):BOOL;
  2995.                    APIENTRY;  'PMWINX' index 137;
  2996.         FUNCTION FindFirstFile(CONST lpFileName:CSTRING;
  2997.                                VAR lpFindFileData:WIN32_FIND_DATA):HANDLE;
  2998.                    APIENTRY;  'PMWINX' index 211;
  2999.         FUNCTION FindNextFile(hFindFile:HANDLE;
  3000.                               VAR lpFindFileData:WIN32_FIND_DATA):BOOL;
  3001.                    APIENTRY;  'PMWINX' index 212;
  3002.         FUNCTION SearchPath(CONST lpPath,lpFileName,lpExtension:CSTRING;
  3003.                             nBufferLength:ULONG;VAR lpBuffer:CSTRING;
  3004.                             VAR lpFilePart:PChar):ULONG;
  3005.                    APIENTRY;  'PMWINX' index 583;
  3006.         FUNCTION CopyFile(CONST lpExistingFileName,lpNewFileName:CSTRING;
  3007.                           bFailIfExists:BOOL):BOOL;
  3008.                    APIENTRY;  'PMWINX' index 52;
  3009.         FUNCTION MoveFile(CONST lpExistingFileName,lpNewFileName:CSTRING):BOOL;
  3010.                    APIENTRY;  'PMWINX' index 490;
  3011.         {FUNCTION MoveFileEx(CONST lpExistingFileName,lpNewFileName:CSTRING;
  3012.                             dwFlags:ULONG):BOOL;
  3013.                    APIENTRY;  'PMWINX' index'MoveFileExA'; not supported}
  3014.         {FUNCTION CreateNamedPipe(CONST lpName:CSTRING;dwOpenMode:ULONG;
  3015.                                  dwPipeMode,nMaxInstances,nOutBufferSize:ULONG;
  3016.                                  nInBufferSize,nDefaultTimeOut:ULONG;
  3017.                                  VAR lpSecurityAttributes:SECURITY_ATTRIBUTES):HANDLE;
  3018.                    APIENTRY;  'PMWINX' index'CreateNamedPipeA'; not supported}
  3019.         {FUNCTION GetNamedPipeHandleState(hNamedPipe:HANDLE;VAR lpState:ULONG;
  3020.                                VAR lpCurInstances,lpMaxCollectionCount:ULONG;
  3021.                                VAR lpCollectDataTimeOut:ULONG;
  3022.                                VAR lpUserName:CSTRING;nMaxUserNameSize:ULONG):BOOL;
  3023.                    APIENTRY;  'PMWINX' index'GetNamedPipeHandleStateA'; not supported}
  3024.         {FUNCTION CallNamedPipe(CONST lpNamedPipeName:CSTRING;
  3025.                                VAR lpInBuffer;nInBufferSize:ULONG;
  3026.                                VAR lpOutBuffer;nOutBufferSize:ULONG;
  3027.                                VAR lpBytesRead:ULONG;nTimeOut:ULONG):BOOL;
  3028.                    APIENTRY;  'PMWINX' index'CallNamedPipeA'; not supported}
  3029.         {FUNCTION WaitNamedPipe(CONST lpNamedPipeName:CSTRING;
  3030.                                nTimeOut:ULONG):BOOL;
  3031.                    APIENTRY;  'PMWINX' index'WaitNamedPipeA'; not supported}
  3032.         FUNCTION SetVolumeLabel(CONST lpRootPathName,lpVolumeName:CSTRING):BOOL;
  3033.                    APIENTRY;  'PMWINX' index 656;
  3034.         {PROCEDURE SetFileApisToOEM;
  3035.                    APIENTRY;  'PMWINX' index'SetFileApisToOEM'; not supported}
  3036.         {PROCEDURE SetFileApisToANSI;
  3037.                    APIENTRY;  'PMWINX' index'SetFileApisToANSI'; not supported}
  3038.         {FUNCTION AreFileApisANSI:BOOL;
  3039.                    APIENTRY;  'PMWINX' index'AreFileApisANSI'; not supported}
  3040.         FUNCTION GetVolumeInformation(CONST lpRootPathName:CSTRING;
  3041.                                       VAR lpVolumeNameBuffer:CSTRING;
  3042.                                       nVolumeNameSize:ULONG;
  3043.                                       VAR lpVolumeSerialNumber:ULONG;
  3044.                                       VAR lpMaximumComponentLength:ULONG;
  3045.                                       VAR lpFileSystemFlags:ULONG;
  3046.                                       VAR lpFileSystemNameBuffer:CSTRING;
  3047.                                       nFileSystemNameSize:ULONG):BOOL;
  3048.                    APIENTRY;  'PMWINX' index 380;
  3049.         {FUNCTION ClearEventLog(hEventLog:HANDLE;CONST lpBackupFileName:CSTRING):BOOL;
  3050.                    APIENTRY;  'PMWINX' index'ClearEventLogA'; not supported}
  3051.         {FUNCTION BackupEventLog(hEventLog:HANDLE;CONST lpBackupFileName:CSTRING):BOOL;
  3052.                    APIENTRY;  'PMWINX' index'BackupEventLogA'; not supported}
  3053.         {FUNCTION CloseEventLog(hEventLog:HANDLE):BOOL;
  3054.                    APIENTRY;  'PMWINX' index'CloseEventLog'; not supported}
  3055.         {FUNCTION DeregisterEventSource(hEventLog:HANDLE):BOOL;
  3056.                    APIENTRY;  'PMWINX' index'DeregisterEventSource'; not supported}
  3057.         {FUNCTION NotifyChangeEventLog(hEventLog,hEvent:HANDLE):BOOL;
  3058.                    APIENTRY;  'PMWINX' index'NotifyChangeEventLog'; not supported}
  3059.         {FUNCTION GetNumberOfEventLogRecords(hEventLog:HANDLE;VAR NumberOfRecords:WORD):BOOL;
  3060.                    APIENTRY;  'PMWINX' index'GetNumberOfEventLogRecords'; not supported}
  3061.         {FUNCTION GetOldestEventLogRecord(hEventLog:HANDLE;VAR OldestRecord:ULONG):BOOL;
  3062.                    APIENTRY;  'PMWINX' index'GetOldestEventLogRecord'; not supported}
  3063.         {FUNCTION OpenEventLog(CONST lpUNCServerName:CSTRING;
  3064.                               CONST lpSourceName:CSTRING):HANDLE;
  3065.                    APIENTRY;  'PMWINX' index'OpenEventLogA'; not supported}
  3066.         {FUNCTION RegisterEventSource(CONST lpUNCServerName:CSTRING;
  3067.                                      CONST lpSourceName:CSTRING):HANDLE;
  3068.                    APIENTRY;  'PMWINX' index'RegisterEventSourceA'; not supported}
  3069.         {FUNCTION OpenBackupEventLog(CONST lpUNCServerName:CSTRING;
  3070.                                     CONST lpFileName:CSTRING):HANDLE;
  3071.                    APIENTRY;  'PMWINX' index'OpenBackupEventLogA'; not supported}
  3072.         {FUNCTION ReadEventLog(hEventLog:HANDLE;dwReadFlags,dwRecordOffset:ULONG;
  3073.                               VAR lpBuffer;nNumberOfBytesToRead:ULONG;
  3074.                               VAR pnBytesRead,pnMinNumberOfBytesNeeded:ULONG):BOOL;
  3075.                    APIENTRY;  'PMWINX' index'ReadEventLogA'; not supported}
  3076.         {FUNCTION ReportEvent(hEventLog:HANDLE;wType,wCategory:WORD;
  3077.                              dwEventID:ULONG;VAR lpUserSid:SID;
  3078.                              wNumStrings:WORD;VAR lpStrings:PChar;
  3079.                              VAR lpRawData):BOOL;
  3080.                    APIENTRY;  'PMWINX' index'ReportEventA';
  3081.         FUNCTION DuplicateToken(ExistingTokenHandle:HANDLE;
  3082.                                 Impoersonation_Level:SECURITY_IMPERSONATION_LEVEL;
  3083.                                 VAR DuplicateTokenHandle:HANDLE):BOOL;
  3084.                    APIENTRY;  'PMWINX' index'DuplicateToken';
  3085.         FUNCTION GetKernelObjectSecurity(Handle:HANDLE;Requested_Information:SECURITY_INFORMATION;
  3086.                                          VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3087.                                          nLength:ULONG;VAR lpnLengthNeeded:ULONG):BOOL;
  3088.                    APIENTRY;  'PMWINX' index'GetKernelObjectSecurity';
  3089.         FUNCTION ImpersonateNamedPipeClient(hNamedPipe:HANDLE):BOOL;
  3090.                    APIENTRY;  'PMWINX' index'ImpersonateNamedPipeClient';
  3091.         FUNCTION ImpersonateSelf(ImpoersonationLevel:SECURITY_IMPOERSONATION_LEVEL):BOOL;
  3092.                    APIENTRY;  'PMWINX' index'ImpersonateSelf';
  3093.         FUNCTION RevertToSelf:BOOL;
  3094.                    APIENTRY;  'PMWINX' index'RevertToSelf';
  3095.         FUNCTION SetThreadToken(VAR Thread:HANDLE;Token:HANDLE):BOOL;
  3096.                    APIENTRY;  'PMWINX' index'SetThreadToken';
  3097.         FUNCTION AccessCheck(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3098.                              ClientToken:HANDLE;DesiredAccess:ULONG;
  3099.                              VAR GenericMapping:GENERIC_MAPPING;
  3100.                              VAR PrivilegeSet:PRIVILEGE_SET;
  3101.                              VAR PrivilegeSetLength:ULONG;
  3102.                              VAR GrantedAccess:ULONG;VAR AccessStatus:BOOL):BOOL;
  3103.                    APIENTRY;  'PMWINX' index'AccessCheck';
  3104.         FUNCTION OpenProcessToken(ProcessHandle:HANDLE;DesiredAccess:ULONG;
  3105.                                   VAR TokenHandle:HANDLE):BOOL;
  3106.                    APIENTRY;  'PMWINX' index'OpenProcessToken';
  3107.         FUNCTION OpenThreadToken(ThreadHandle:HANDLE;DesiredAccess:ULONG;
  3108.                                  OpenAsSelf:BOOL;VAR TokenHandle:HANDLE):BOOL;
  3109.                    APIENTRY;  'PMWINX' index'OpenThreadToken';
  3110.         FUNCTION GetTokenInformation(TokenHandle:HANDLE;
  3111.                                 TokenInformationClass:TOKEN_INFORMATION_CLASS;
  3112.                                 VAR TokenInformation;TokenInformationLength:ULONG;
  3113.                                 VAR ReturnLength:ULONG):BOOL;
  3114.                    APIENTRY;  'PMWINX' index'GetTokenInformation';
  3115.         FUNCTION SetTokenInformation(TokenHandle:HANDLE;
  3116.                                 TokenInformationClass:TOKEN_INFORMATION_CLASS;
  3117.                                 VAR TokenInformation;TokenInformationLength:ULONG):BOOL;
  3118.                    APIENTRY;  'PMWINX' index'SetTokenInformation';
  3119.         FUNCTION AdjustTokenPrivileges(TokenHandle:HANDLE;DisableAllPrivileges:BOOL;
  3120.                                        VAR NewState:TOKEN_PRIVILEGES;
  3121.                                        BufferLength:ULONG;
  3122.                                        VAR PreviousState:TOKEN_PRIVILEGES;
  3123.                                        VAR ReturnLength:ULONG):BOOL;
  3124.                    APIENTRY;  'PMWINX' index'AdjustTokenPrivileges';
  3125.         FUNCTION AdjustTokenGroups(TokenHandle:HANDLE;ResetToDefault:BOOL;
  3126.                                    VAR NewState:TOKEN_GROUPS;BufferLength:ULONG;
  3127.                                    VAR PreviousState:TOKEN_GROUPS;
  3128.                                    VAR ReturnLength:ULONG):BOOL;
  3129.                    APIENTRY;  'PMWINX' index'AdjustTokenGroups';
  3130.         FUNCTION PrivilegeCheck(ClientToken:HANDLE;
  3131.                                 VAR RequiredPrivileges:PRIVILEGE_SET;
  3132.                                 VAR pfResult:BOOL):BOOL;
  3133.                    APIENTRY;  'PMWINX' index'PrivilegeCheck';
  3134.         FUNCTION AccessCheckAndAuditAlarm(CONST SubsystemName:CSTRING;
  3135.                                           VAR HandleId;
  3136.                                           VAR ObjectTypeName,ObjectName:CSTRING;
  3137.                                           VAR SecurityDescriptor:SECURITY_DESCRIPTOR;
  3138.                                           DesiredAccess:ULONG;
  3139.                                           VAR GenericMapping:GENERIC_MAPPING;
  3140.                                           ObjectCreation:BOOL;
  3141.                                           VAR GrantedAccess:ULONG;
  3142.                                           VAR AccessStatus,pfGenerateOnClose:BOOL):BOOL;
  3143.                    APIENTRY;  'PMWINX' index'AccessCheckAndAuditAlarmA';
  3144.         FUNCTION ObjectOpenAuditAlarm(CONST SubSystemName:CSTRING;VAR HandleId;
  3145.                                       VAR ObjectTypeName,ObjectName:CSTRING;
  3146.                                       VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3147.                                       ClientToken:HANDLE;
  3148.                                       DesiredAccess,GrantedAccess:ULONG;
  3149.                                       VAR Privileges:PRIVILEGE_SET;
  3150.                                       ObjectCreation,AccessGranted:BOOL;
  3151.                                       VAR GenerateOnClose:BOOL):BOOL;
  3152.                    APIENTRY;  'PMWINX' index'ObjectOpenAuditAlarmA';
  3153.         FUNCTION ObjectPrivilegeAuditAlarm(CONST SubsystemName:CSTRING;
  3154.                                            VAR HandleId;ClientToken:HANDLE;
  3155.                                            DesiredAccess:ULONG;
  3156.                                            VAR Privileges:PRIVILEGE_SET;
  3157.                                            AccessGranted:BOOL):BOOL;
  3158.                    APIENTRY;  'PMWINX' index'ObjectPrivilegeAuditAlarmA';
  3159.         FUNCTION ObjectCloseAuditAlarm(CONST SubsystemName:CSTRING;
  3160.                                        VAR HandleId;GenerateOnClose:BOOL):BOOL;
  3161.                    APIENTRY;  'PMWINX' index'ObjectCloseAuditAlarmA';
  3162.         FUNCTION PrivilegedServiceAuditAlarm(CONST SubsystemName,ServiceName:CSTRING;
  3163.                                      ClientToken:HANDLE;
  3164.                                      VAR Privileges:PRIVILEGE_SET;
  3165.                                      AccessGranted:BOOL):BOOL;
  3166.                    APIENTRY;  'PMWINX' index'PrivilegedServiceAuditAlarmA';
  3167.         FUNCTION IsValidSid(VAR pSid:SID):BOOL;
  3168.                    APIENTRY;  'PMWINX' index'IsValidSid';
  3169.         FUNCTION EqualSid(VAR pSid1,pSid2:SID):BOOL;
  3170.                    APIENTRY;  'PMWINX' index'EqualSid';
  3171.         FUNCTION EqualPrefixSid(VAR pSid1,pSid2:SID):BOOL;
  3172.                    APIENTRY;  'PMWINX' index'EqualPrefixSid';
  3173.         FUNCTION GetSidLengthRequired(nSubAuthorityCount:BYTE):ULONG;
  3174.                    APIENTRY;  'PMWINX' index'GetSidLengthRequired';
  3175.         FUNCTION AllocateAndInitializeSid(VAR pIdentifierAuthority:SID_IDENTIFIER_AUTHORITY;
  3176.                          nSubAuthorityCount:BYTE;
  3177.                          nSubAuthority0,nSubAuthority1,nSubAuthority2:ULONG;
  3178.                          nSubAuthority3,nSubAuthority4,nSubAuthority5:ULONG;
  3179.                          nSubAuthority6,nSubAuthority7:ULONG;
  3180.                          VAR pSid:PSID):BOOL;
  3181.                    APIENTRY;  'PMWINX' index'AllocateAndInitializeSid';
  3182.         FUNCTION FreeSid(VAR pSid:SID):POINTER;
  3183.                    APIENTRY;  'PMWINX' index'FreeSid';
  3184.         FUNCTION InitializeSid(VAR pIdentifierAuthority:SID_IDENTIFIER_AUTHORITY;
  3185.                                nSubAuthorityCount:BYTE):BOOL;
  3186.                    APIENTRY;  'PMWINX' index'InitializeSid';
  3187.         FUNCTION GetSidIdentifierAuthority(VAR pSid:SID):PSID_IDENTIFIER_AUTHORITY;
  3188.                    APIENTRY;  'PMWINX' index'GetSidIdentifierAuthority';
  3189.         FUNCTION GetSidSubAuthority(VAR pSid:SID;nSubAuthority:ULONG):PULONG;
  3190.                    APIENTRY;  'PMWINX' index'GetSidSubAuthority';
  3191.         FUNCTION GetSidSubAuthorityCount(VAR pSid:SID):PBYTE;
  3192.                    APIENTRY;  'PMWINX' index'GetSidSubAuthorityCount';
  3193.         FUNCTION GetLengthSid(VAR pSid:SID):ULONG;
  3194.                    APIENTRY;  'PMWINX' index'GetLengthSid';
  3195.         FUNCTION CopySid(nDestinationSidLength:ULONG;
  3196.                          VAR pDestinationSid,pSourceSid:SID):BOOL;
  3197.                    APIENTRY;  'PMWINX' index'CopySid';
  3198.         FUNCTION AreAllAccessesGranted(GrantedAccess,DesiredAccess:ULONG):BOOL;
  3199.                    APIENTRY;  'PMWINX' index'AreAllAccessesGranted';
  3200.         FUNCTION AreAnyAccessesGranted(GrantedAccess,DesiredAccess:ULONG):BOOL;
  3201.                    APIENTRY;  'PMWINX' index'AreAnyAccessesGranted';
  3202.         PROCEDURE MapGenericMask(VAR AccessMask:ULONG;VAR GenericMapping:GENERIC_MAPPING);
  3203.                    APIENTRY;  'PMWINX' index'MapGenericMask';
  3204.         FUNCTION IsValidAcl(VAR pAcl:ACL):BOOL;
  3205.                    APIENTRY;  'PMWINX' index'IsValidAcl';
  3206.         FUNCTION InitializeAcl(VAR pAcl:ACL;nAclLength,deAclRevision:ULONG):BOOL;
  3207.                    APIENTRY;  'PMWINX' index'InitializeAcl';
  3208.         FUNCTION GetAclInformation(VAR pAcl:ACL;VAR pAclInformation;
  3209.                                    nAclInformationlength:ULONG;
  3210.                                    dwAclInformationClass:ACL_INFORMATION_CLASS):BOOL;
  3211.                    APIENTRY;  'PMWINX' index'GetAclInformation';
  3212.         FUNCTION SetAclInformation(VAR pAcl:ACL;VAR pAclInformation;
  3213.                                    nAclInformationLength:ULONG;
  3214.                                    dwAclInformationClass:ACL_INFORMATION_CLASS):BOOL;
  3215.                    APIENTRY;  'PMWINX' index'SetAclInformation';
  3216.         FUNCTION AddAce(VAR pACL:ACL;dwAceRevision,dwStartingAceIndex:ULONG;
  3217.                         VAR pAceList;nAceListLength:ULONG):BOOL;
  3218.                    APIENTRY;  'PMWINX' index'AddAce';
  3219.         FUNCTION DeleteAce(VAR pAcl:ACL;deAceIndex:ULONG):BOOL;
  3220.                    APIENTRY;  'PMWINX' index'DeleteAce';
  3221.         FUNCTION GetAce(VAR pAcl:ACL;dwAceIndex:ULONG;VAR pAce:POINTER):BOOL;
  3222.                    APIENTRY;  'PMWINX' index'GetAce';
  3223.         FUNCTION AddAccessAllowedAce(VAR pAcl:ACL;dwAceRevision,AcessMask:ULONG;
  3224.                                      VAR pSid:SID):BOOL;
  3225.                    APIENTRY;  'PMWINX' index'AddAccessAllowedAce';
  3226.         FUNCTION AddAccessDeniedAce(VAR pAcl:ACL;dwAceRevision,dwAccessMask:ULONG;
  3227.                                     VAR pSid:SID):BOOL;
  3228.                    APIENTRY;  'PMWINX' index'AddAccessDeniedAce';
  3229.         FUNCTION AddAuditAccessAce(VAR pAcl:ACL;dwAceRevision,dwAccessMask:ULONG;
  3230.                                    VAR pSid:SID):BOOL;
  3231.                    APIENTRY;  'PMWINX' index'AddAuditAccessAce';
  3232.         FUNCTION FindFirstFreeAce(VAR pAcl:ACL;VAR pAce:POINTER):BOOL;
  3233.                    APIENTRY;  'PMWINX' index'FindFirstFreeAce';
  3234.         FUNCTION InitializeSecurityDescriptor(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3235.                                dwRevision:ULONG):BOOL;
  3236.                    APIENTRY;  'PMWINX' index'InitializeSecurityDescriptor';
  3237.         FUNCTION IsValidSecurityDescriptor(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR):BOOL;
  3238.                    APIENTRY;  'PMWINX' index'IsValidSecurityDescriptor';
  3239.         FUNCTION GetSecurityDescriptorLength(VAR pSecurityDesciptor:SECURITY_DESCRIPTOR):ULONG;
  3240.                    APIENTRY;  'PMWINX' index'GetSecurityDescriptorLength';
  3241.         FUNCTION GetSecurityDescriptorControl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3242.                                  VAR pControl:SECURITY_DESCRITOR_CONTROL;
  3243.                                  VAR lpdwRevision:ULONG):BOOL;
  3244.                    APIENTRY;  'PMWINX' index'GetSecurityDescriptorControl';
  3245.         FUNCTION SetSecurityDescriptorDacl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3246.                                             bDaclPresent:BOOL;VAR pDacl:ACL;
  3247.                                             bDaclDefaulted:BOOL):BOOL;
  3248.                    APIENTRY;  'PMWINX' index'SetSecurityDescriptorDacl';
  3249.         FUNCTION GetSecurityDescriptorDacl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3250.                                            VAR lpbDaclPresent:BOOL;
  3251.                                            VAR pDacl:PACL;VAR lpbDaclDefaulted:BOOL):BOOL;
  3252.                    APIENTRY;  'PMWINX' index'GetSecurityDescriptorDacl';
  3253.         FUNCTION SetSecurityDescriptorSacl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3254.                                            bSaclPresent:BOOL;VAR pSacl:ACL;
  3255.                                            bSaclDefaulted:BOOL):BOOL;
  3256.                    APIENTRY;  'PMWINX' index'SetSecurityDescriptorSacl';
  3257.         FUNCTION GetSecurityDescriptorSacl(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3258.                                            VAR lpbSaclPresent:BOOL;VAR pSacl:PACL;
  3259.                                            VAR lpbSaclDefaulted:BOOL):BOOL;
  3260.                    APIENTRY;  'PMWINX' index'GetSecurityDescriptorSacl';
  3261.         FUNCTION SetSecurityDescriptorOwner(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3262.                                             VAR pOwner:SID;bOwnerDefaulted:BOOL):BOOL;
  3263.                    APIENTRY;  'PMWINX' index'SetSecurityDescriptorOwner';
  3264.         FUNCTION GetSecurityDescriptorOwner(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3265.                                             VAR pOwner:PSID;VAR lpbOwnerDefaulted:BOOL):BOOL;
  3266.                    APIENTRY;  'PMWINX' index'GetSecurityDescriptorOwner';
  3267.         FUNCTION SetSecurityDescriptorGroup(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3268.                                             VAR pGroup:SID;bGroupDefaulted:BOOL):BOOL;
  3269.                    APIENTRY;  'PMWINX' index'SetSecurityDescriptorGroup';
  3270.          FUNCTION GetSecurityDescriptorGroup(VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;
  3271.                                              VAR pGroup:SID;VAR lpGroupDefaulted:BOOL):BOOL;
  3272.                    APIENTRY;  'PMWINX' index'GetSecurityDescriptorGroup';
  3273.          FUNCTION CreatePrivateObjectSecurity(VAR ParentDescriptor,CreatorDescritor:SECURITY_DESCRIPTOR;
  3274.                                               VAR NewDescriptor:PSECURITY_DESCRIPTOR;
  3275.                                               IsDirectoryObject:BOOL;Token:HANDLE;
  3276.                                               VAR GenericMapping:GENERIC_MAPPING):BOOL;
  3277.                    APIENTRY;  'PMWINX' index'CreatePrivateObjectSecurity';
  3278.          FUNCTION SetPrivateObjectSecurity(SecurityInformation:SECURITY_INFORMATION;
  3279.                                            VAR ModificationDescriptor:SECURITY_DESCRIPTOR;
  3280.                                            VAR ObjectsSecurityDescriptor:PSECURITY_DESCRIPTOR;
  3281.                                            VAR GenericMapping:GENERIC_MAPPING;
  3282.                                            Token:HANDLE):BOOL;
  3283.                    APIENTRY;  'PMWINX' index'SetPrivateObjectSecurity';
  3284.          FUNCTION GetPrivateObjectSecurity(VAR ObjectDescriptor:SECURITY_DESCRIPTOR;
  3285.                                            SecurityInformation:SECURITY_INFORMATION;
  3286.                                            VAR ResultantDescriptor:SECURITY_DESCRIPTOR;
  3287.                                            DescriptorLength:LONGWORD;VAR ReturnLength:LONGWORD):BOOL;
  3288.                    APIENTRY;  'PMWINX' index'GetPrivateObjectSecurity';
  3289.          FUNCTION DestroyPrivateObjectSecurity(VAR ObjectDescriptor:PSECURITY_DESCRIPTOR):BOOL;
  3290.                    APIENTRY;  'PMWINX' index'DestroyPrivateObjectSecurity';
  3291.          FUNCTION MakeSelfRelativeSD(VAR pAbsoluteSecurityDescriptor,pSelfRelativeSecurityDescriptor:SECURITY_DESCRIPTOR;
  3292.                                      VAR lpdwBufferLength:LONGWORD):BOOL;
  3293.                    APIENTRY;  'PMWINX' index'MakeSelfRelativeSD';
  3294.          FUNCTION MakeAbsoluteSD(VAR pSelfRelativeSecurityDescriptor,pAbsoluteSecurityDescriptor:SECURITY_DESCRIPTOR;
  3295.                                  VAR lpdwAbsoluteSecurityDescriptorSize:LONGWORD;VAR pDacl:ACL;
  3296.                                  VAR lpdwDaclSize:LONGWORD;VAR pSacl:ACL;VAR lpdwSaclSize:LONGWORD;
  3297.                                  VAR pOwner:SID;VAR lpdwOwnerSize:LONGWORD;VAR pPrimaryGroup:SID;
  3298.                                  VAR lpdwPrimaryGroupSize:LONGWORD):BOOL;
  3299.                    APIENTRY;  'PMWINX' index'MakeAbsoluteSD';
  3300.          FUNCTION SetFileSecurity(CONST lpFileName:CSTRING;SecurityInformation:SECURITY_INFORMATION;
  3301.                                   VAR pSecurityDescriptor:SECURITY_DESCRIPTOR):BOOL;
  3302.                    APIENTRY;  'PMWINX' index'SetFileSecurityA';
  3303.          FUNCTION GetFileSecurity(CONST lpFileName:CSTRING;SecurityInformation:SECURITY_INFORMATION;
  3304.                                   VAR pSecurityDescriptor:SECURITY_DESCRIPTOR;nLength:LONGWORD;
  3305.                                   VAR lpnLengthNeeded:LONGWORD):BOOL;
  3306.                    APIENTRY;  'PMWINX' index'GetFileSecurityA';
  3307.          FUNCTION SetKernelObjectSecurity(aHandle:HANDLE;SecurityInformation:SECURITY_INFORMATION;
  3308.                                           VAR pSecurityDescriptor:SECURITY_DESCRIPTOR):BOOL;
  3309.                    APIENTRY;  'PMWINX' index'SetKernelObjectSecurity';
  3310.          FUNCTION FindFirstChangeNotification(CONST lpPathName:CSTRING;bWatchSubTree:BOOL;
  3311.                                               dwNotifyFilter:LONGWORD):HANDLE;
  3312.                    APIENTRY;  'PMWINX' index'FindFirstChangeNotificationA';
  3313.          FUNCTION FindNextChangeNotification(hChangeHandle:HANDLE):BOOL;
  3314.                    APIENTRY;  'PMWINX' index'FindNextChangeNotification';
  3315.          FUNCTION FindCloseChangeNotification(hChangeHandle:HANDLE):BOOL;
  3316.                    APIENTRY;  'PMWINX' index'FindCloseChangeNotification';}
  3317.          {FUNCTION VirtualLock(VAR lpAdress;dwSize:LONGWORD):BOOL;
  3318.                    APIENTRY;  'PMWINX' index'VirtualLock'; not supported}
  3319.          {FUNCTION VirtualUnlock(VAR lpAdress;dwSize:LONGWORD):BOOL;
  3320.                    APIENTRY;  'PMWINX' index'VirtualUnlock'; not supported}
  3321.          {FUNCTION MapViewOfFileEx(hFileMappingObject:HANDLE;dwDesiredAccess,dwFileOffsetHigh,
  3322.                                   dwFileOffsetLow,dwNumberOfBytesToMap:LONGWORD;
  3323.                                   VAR lpBaseAddress):POINTER;
  3324.                    APIENTRY;  'PMWINX' index'MapViewOfFileEx'; not supported}
  3325.          FUNCTION SetPriorityClass(hProcess:HANDLE;dwPriorityClass:LONGWORD):BOOL;
  3326.                    APIENTRY;  'PMWINX' index 636;
  3327.          FUNCTION GetPriorityClass(hProcess:HANDLE):LONGWORD;
  3328.                    APIENTRY;  'PMWINX' index 337;
  3329.          FUNCTION IsBadReadPtr(lp:POINTER;ucb:LONGWORD):BOOL;
  3330.                    APIENTRY;  'PMWINX' index 433;
  3331.          FUNCTION IsBadWritePtr(lp:POINTER;ucb:LONGWORD):BOOL;
  3332.                    APIENTRY;  'PMWINX' index 435;
  3333.          FUNCTION IsBadHugeReadPtr(lp:POINTER;ucb:LONGWORD):BOOL;
  3334.                    APIENTRY;  'PMWINX' index 431;
  3335.          FUNCTION IsBadHugeWritePtr(lp:POINTER;ucb:LONGWORD):BOOL;
  3336.                    APIENTRY;  'PMWINX' index 432;
  3337.          FUNCTION IsBadCodePtr(lpfn:POINTER):BOOL;
  3338.                    APIENTRY;  'PMWINX' index 430;
  3339.          FUNCTION IsBadStringPtr(CONST lpsz:CSTRING;ucchMax:LONGWORD):BOOL;
  3340.                    APIENTRY;  'PMWINX' index 434;
  3341.          {FUNCTION LookupAccountSid(CONST lpSystemName:CSTRING;VAR aSid:SID;VAR Name:CSTRING;
  3342.                                     VAR cbName:LONGWORD;VAR ReferencedDomainName:CSTRING;
  3343.                                     VAR cbReferencedDomainName:LONGWORD;VAR peUse:SID_NAME_USE):BOOL;
  3344.                    APIENTRY;  'PMWINX' index'LookupAccountSidA';
  3345.          FUNCTION LookupAccountName(CONST lpSystemName:CSTRING;lpAccountName:CSTRING;VAR aSid:SID;
  3346.                                     VAR cbSid:LONGWORD;VAR ReferencedDomainName:CSTRING;
  3347.                                     VAR cbReferencedDomainName:LONGWORD;VAR peUse:SID_NAME_USE):BOOL;
  3348.                    APIENTRY;  'PMWINX' index'LookupAccountNameA';
  3349.          FUNCTION LookupPrivilegeValue(CONST lpSystemName:CSTRING;CONST lpName:CSTRING;VAR alpLuid:LUID):BOOL;
  3350.                    APIENTRY;  'PMWINX' index'LookupPrivilegeValueA';
  3351.          FUNCTION LookupPrivilegeName(CONST lpSystemName:CSTRING;VAR alpLuid:LUID;VAR lpName:CSTRING;
  3352.                                        VAR cbName:LONGWORD):BOOL;
  3353.                    APIENTRY;  'PMWINX' index'LookupPrivilegeNameA';
  3354.          FUNCTION LookupPrivilegeDisplayName(CONST lpSystemName,lpName:CSTRING;VAR lpDisplayName:CSTRING;
  3355.                                              VAR cbDisplayName,lpLanguageId:LONGWORD):BOOL;
  3356.                    APIENTRY;  'PMWINX' index'LookupPrivilegeDisplayNameA';
  3357.          FUNCTION AllocateLocallyUniqueId(VAR aLuid:LUID):BOOL;
  3358.                    APIENTRY;  'PMWINX' index'AllocateLocallyUniqueId';
  3359.          FUNCTION BuildCommDCB(CONST lpDef:CSTRING;VAR alpDCB:DCB):BOOL;
  3360.                    APIENTRY;  'PMWINX' index'BuildCommDCBA';
  3361.          FUNCTION BuildCommDCBAndTimeouts(CONST lpDef:CSTRING;VAR alpDCB:DCB;VAR alpCommTimeOuts:COMMTIMEOUTS):BOOL;
  3362.                    APIENTRY;  'PMWINX' index'BuildCommDCBAndTimeoutsA';
  3363.          FUNCTION CommConfigDialog(CONST lpszName:CSTRING;ahWnd:HWND;VAR lpCC:COMMCONFIG):BOOL;
  3364.                    APIENTRY;  'PMWINX' index'CommConfigDialogA';
  3365.          FUNCTION GetDefaultCommConfig(CONST lpszName:CSTRING;VAR lpCC:COMMCONFIG;VAR lpdwSize:LONGWORD):BOOL;
  3366.                    APIENTRY;  'PMWINX' index'GetDefaultCommConfigA';
  3367.          FUNCTION SetDefaultCommConfig(CONST lpszName:CSTRING;VAR lpCC:COMMCONFIG;dwSize:LONGWORD):BOOL;
  3368.                    APIENTRY;  'PMWINX' index'SetDefaultCommConfigA';}
  3369.          {FUNCTION GetComputerName(VAR lpBuffer:CSTRING;VAR nSize:LONGWORD):BOOL;
  3370.                    APIENTRY;  'PMWINX' index'GetComputerNameA'; not supported}
  3371.          {FUNCTION SetComputerName(CONST lpComputerName:CSTRING):BOOL;
  3372.                    APIENTRY;  'PMWINX' index'SetComputerNameA'; not supported}
  3373.          {FUNCTION GetUserName(VAR lpBuffer:CSTRING;VAR nSize:LONGWORD):BOOL;
  3374.                    APIENTRY;  'PMWINX' index'GetUserNameA'; not supported}
  3375.          {FUNCTION QueryPerformanceCounter(VAR lpPerformanceCount:LARGE_INTEGER):BOOL;
  3376.                    APIENTRY;  'PMWINX' index'QueryPerformanceCounter'; not supported}
  3377.          {FUNCTION QueryPerformanceFrequency(VAR lpFrequency:LARGE_INTEGER):BOOL;
  3378.                    APIENTRY;  'PMWINX' index'QueryPerformanceFrequency'; not supported}
  3379.          {FUNCTION GetVersionEx(lpVersionInformation:OSVERSIONINFO):BOOL;
  3380.                    APIENTRY;  'PMWINX' index'GetVersionExA'; not supported}
  3381.          {$ENDIF}
  3382. END;
  3383.  
  3384. FUNCTION FreeModule(hLibModule:HINSTANCE):BOOL;
  3385. FUNCTION MakeProcInstance(lpProc:POINTER;ahInstance:HINSTANCE):POINTER;
  3386. FUNCTION FreeProcInstance(lpProc:POINTER):POINTER;
  3387. FUNCTION GlobalLRUNewest(h:HGLOBAL):HANDLE;
  3388. FUNCTION GlobalLRUOldest(h:HGLOBAL):HANDLE;
  3389. FUNCTION GlobalDiscard(h:HGLOBAL):HGLOBAL;
  3390. FUNCTION LocalDiscard(h:HGLOBAL):HGLOBAL;
  3391. FUNCTION GetFreeSpace(w:LONGWORD):LONGWORD;
  3392.  
  3393. IMPLEMENTATION
  3394.  
  3395. FUNCTION FreeModule(hLibModule:HINSTANCE):BOOL;
  3396. BEGIN
  3397.      result:=FreeLibrary(hLibModule);
  3398. END;
  3399.  
  3400. FUNCTION MakeProcInstance(lpProc:POINTER;ahInstance:HINSTANCE):POINTER;
  3401. BEGIN
  3402.      result:=lpProc;
  3403. END;
  3404.  
  3405. FUNCTION FreeProcInstance(lpProc:POINTER):POINTER;
  3406. BEGIN
  3407.      result:=lpProc;
  3408. END;
  3409.  
  3410. FUNCTION GlobalLRUNewest(h:HGLOBAL):HANDLE;
  3411. BEGIN
  3412.      result:=h;
  3413. END;
  3414.  
  3415. FUNCTION GlobalLRUOldest(h:HGLOBAL):HANDLE;
  3416. BEGIN
  3417.      result:=h;
  3418. END;
  3419.  
  3420. FUNCTION GlobalDiscard(h:HGLOBAL):HGLOBAL;
  3421. BEGIN
  3422.      result:=GlobalReAlloc(h,0,GMEM_MOVEABLE);
  3423. END;
  3424.  
  3425. FUNCTION LocalDiscard(h:HGLOBAL):HGLOBAL;
  3426. BEGIN
  3427.      result:=LocalReAlloc(h,0,LMEM_MOVEABLE);
  3428. END;
  3429.  
  3430. FUNCTION GetFreeSpace(w:LONGWORD):LONGWORD;
  3431. BEGIN
  3432.      result:=$100000;
  3433. END;
  3434.  
  3435. END.
  3436.