Annotation of mstools/h/winbase.h, revision 1.1.1.4

1.1       root        1: /*++ BUILD Version: 0001    // Increment this if a change has global effects
                      2: 
                      3: Copyright (c) 1990  Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:     winbase.h
                      8: 
                      9: Abstract:
                     10: 
                     11:     This module defines the 32-Bit Windows Base APIs
                     12: 
                     13: Created:
                     14: 
                     15:     18-Sep-1990
                     16: 
                     17: Revision History:
                     18: 
                     19: --*/
                     20: 
                     21: #ifndef _WINBASE_
                     22: #define _WINBASE_
                     23: 
1.1.1.3   root       24: #ifdef __cplusplus
                     25: extern "C" {
                     26: #endif
                     27: 
1.1       root       28: /*
                     29:  * Compatability macros
                     30:  */
                     31: 
                     32: #define DefineHandleTable(w)            ((w),TRUE)
                     33: #define LimitEmsPages(dw)
                     34: #define SetSwapAreaSize(w)              (w)
                     35: #define LockSegment(w)                  GlobalFix((HANDLE)(w))
                     36: #define UnlockSegment(w)                GlobalUnfix((HANDLE)(w))
1.1.1.2   root       37: #define GetCurrentTime()                GetTickCount()
1.1       root       38: 
                     39: #define Yield()
                     40: 
                     41: #define INVALID_HANDLE_VALUE (HANDLE)-1
1.1.1.4 ! root       42: #define INVALID_FILE_SIZE (DWORD)0xFFFFFFFF
        !            43: 
1.1       root       44: #define FILE_BEGIN           0
                     45: #define FILE_CURRENT         1
                     46: #define FILE_END             2
                     47: 
1.1.1.4 ! root       48: #define TIME_ZONE_ID_INVALID (DWORD)0xFFFFFFFF
        !            49: 
        !            50: #define WAIT_FAILED (DWORD)0xFFFFFFFF
1.1       root       51: #define WAIT_OBJECT_0       ((STATUS_WAIT_0 ) + 0 )
                     52: 
                     53: #define WAIT_ABANDONED         ((STATUS_ABANDONED_WAIT_0 ) + 0 )
                     54: #define WAIT_ABANDONED_0       ((STATUS_ABANDONED_WAIT_0 ) + 0 )
                     55: 
                     56: #define WAIT_TIMEOUT                    STATUS_TIMEOUT
1.1.1.2   root       57: #define WAIT_IO_COMPLETION              STATUS_USER_APC
1.1       root       58: #define STILL_ACTIVE                    STATUS_PENDING
                     59: #define EXCEPTION_ACCESS_VIOLATION      STATUS_ACCESS_VIOLATION
                     60: #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
                     61: #define EXCEPTION_BREAKPOINT            STATUS_BREAKPOINT
                     62: #define EXCEPTION_SINGLE_STEP           STATUS_SINGLE_STEP
1.1.1.2   root       63: #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
                     64: #define EXCEPTION_FLT_DENORMAL_OPERAND  STATUS_FLOAT_DENORMAL_OPERAND
                     65: #define EXCEPTION_FLT_DIVIDE_BY_ZERO    STATUS_FLOAT_DIVIDE_BY_ZERO
                     66: #define EXCEPTION_FLT_INEXACT_RESULT    STATUS_FLOAT_INEXACT_RESULT
                     67: #define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
                     68: #define EXCEPTION_FLT_OVERFLOW          STATUS_FLOAT_OVERFLOW
                     69: #define EXCEPTION_FLT_STACK_CHECK       STATUS_FLOAT_STACK_CHECK
                     70: #define EXCEPTION_FLT_UNDERFLOW         STATUS_FLOAT_UNDERFLOW
                     71: #define EXCEPTION_INT_DIVIDE_BY_ZERO    STATUS_INTEGER_DIVIDE_BY_ZERO
                     72: #define EXCEPTION_INT_OVERFLOW          STATUS_INTEGER_OVERFLOW
                     73: #define EXCEPTION_PRIV_INSTRUCTION      STATUS_PRIVILEGED_INSTRUCTION
1.1.1.4 ! root       74: #define EXCEPTION_IN_PAGE_ERROR         STATUS_IN_PAGE_ERROR
        !            75: #define EXCEPTION_ILLEGAL_INSTRUCTION   STATUS_ILLEGAL_INSTRUCTION
        !            76: #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
        !            77: #define EXCEPTION_STACK_OVERFLOW        STATUS_STACK_OVERFLOW
        !            78: #define EXCEPTION_INVALID_DISPOSITION   STATUS_INVALID_DISPOSITION
1.1       root       79: #define CONTROL_C_EXIT                  STATUS_CONTROL_C_EXIT
1.1.1.4 ! root       80: #define MoveMemory RtlMoveMemory
        !            81: #define CopyMemory RtlCopyMemory
        !            82: #define FillMemory RtlFillMemory
        !            83: #define ZeroMemory RtlZeroMemory
1.1       root       84: 
                     85: //
1.1.1.2   root       86: // File creation flags must start at the high end since they
1.1       root       87: // are combined with the attributes
                     88: //
                     89: 
1.1.1.2   root       90: #define FILE_FLAG_WRITE_THROUGH     0x80000000
                     91: #define FILE_FLAG_OVERLAPPED        0x40000000
                     92: #define FILE_FLAG_NO_BUFFERING      0x20000000
                     93: #define FILE_FLAG_RANDOM_ACCESS     0x10000000
                     94: #define FILE_FLAG_SEQUENTIAL_SCAN   0x08000000
                     95: #define FILE_FLAG_DELETE_ON_CLOSE   0x04000000
                     96: #define FILE_FLAG_BACKUP_SEMANTICS  0x02000000
1.1.1.3   root       97: #define FILE_FLAG_POSIX_SEMANTICS   0x01000000
1.1       root       98: 
                     99: #define CREATE_NEW          1
                    100: #define CREATE_ALWAYS       2
                    101: #define OPEN_EXISTING       3
                    102: #define OPEN_ALWAYS         4
                    103: #define TRUNCATE_EXISTING   5
                    104: 
                    105: //
                    106: // Define the NamedPipe definitions
                    107: //
                    108: 
                    109: 
                    110: //
                    111: // Define the dwOpenMode values for CreateNamedPipe
                    112: //
                    113: 
                    114: #define PIPE_ACCESS_INBOUND         0x00000001
                    115: #define PIPE_ACCESS_OUTBOUND        0x00000002
                    116: #define PIPE_ACCESS_DUPLEX          0x00000003
                    117: 
                    118: //
                    119: // Define the Named Pipe End flags for GetNamedPipeInfo
                    120: //
                    121: 
                    122: #define PIPE_CLIENT_END             0x00000000
                    123: #define PIPE_SERVER_END             0x00000001
                    124: 
                    125: //
                    126: // Define the dwPipeMode values for CreateNamedPipe
                    127: //
                    128: 
                    129: #define PIPE_WAIT                   0x00000000
                    130: #define PIPE_NOWAIT                 0x00000001
                    131: #define PIPE_READMODE_BYTE          0x00000000
                    132: #define PIPE_READMODE_MESSAGE       0x00000002
                    133: #define PIPE_TYPE_BYTE              0x00000000
                    134: #define PIPE_TYPE_MESSAGE           0x00000004
                    135: 
                    136: //
                    137: // Define the well known values for CreateNamedPipe nMaxInstances
                    138: //
                    139: 
                    140: #define PIPE_UNLIMITED_INSTANCES    255
                    141: 
                    142: //
1.1.1.2   root      143: // Define the Security Quality of Service bits to be passed
                    144: // into CreateFile
1.1       root      145: //
                    146: 
1.1.1.2   root      147: #define SECURITY_ANONYMOUS          ( SecurityAnonymous      << 16 )
                    148: #define SECURITY_IDENTIFICATION     ( SecurityIdentification << 16 )
                    149: #define SECURITY_IMPERSONATION      ( SecurityImpersonation  << 16 )
                    150: #define SECURITY_DELEGATION         ( SecurityDelegation     << 16 )
                    151: 
                    152: #define SECURITY_CONTEXT_TRACKING  0x00040000
                    153: #define SECURITY_EFFECTIVE_ONLY    0x00080000
                    154: 
                    155: #define SECURITY_SQOS_PRESENT      0x00100000
                    156: #define SECURITY_VALID_SQOS_FLAGS  0x001F0000
                    157: 
1.1       root      158: //
                    159: //  File structures
                    160: //
                    161: 
                    162: typedef struct _OVERLAPPED {
                    163:     DWORD   Internal;
                    164:     DWORD   InternalHigh;
                    165:     DWORD   Offset;
                    166:     DWORD   OffsetHigh;
                    167:     HANDLE  hEvent;
                    168: } OVERLAPPED, *LPOVERLAPPED;
                    169: 
                    170: typedef struct _SECURITY_ATTRIBUTES {
                    171:     DWORD nLength;
                    172:     LPVOID lpSecurityDescriptor;
                    173:     BOOL bInheritHandle;
                    174: } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
                    175: 
                    176: typedef struct _PROCESS_INFORMATION {
                    177:     HANDLE hProcess;
                    178:     HANDLE hThread;
                    179:     DWORD dwProcessId;
                    180:     DWORD dwThreadId;
                    181: } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
                    182: 
                    183: //
                    184: //  File System time stamps are represented with the following structure:
                    185: //
                    186: 
                    187: typedef struct _FILETIME {
                    188:     DWORD dwLowDateTime;
                    189:     DWORD dwHighDateTime;
                    190: } FILETIME, *PFILETIME, *LPFILETIME;
                    191: 
                    192: //
                    193: // System time is represented with the following structure:
                    194: //
                    195: 
                    196: typedef struct _SYSTEMTIME {
                    197:     WORD wYear;
                    198:     WORD wMonth;
                    199:     WORD wDayOfWeek;
                    200:     WORD wDay;
                    201:     WORD wHour;
                    202:     WORD wMinute;
                    203:     WORD wSecond;
                    204:     WORD wMilliseconds;
                    205: } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
                    206: 
1.1.1.3   root      207: typedef DWORD (WINAPI *PTHREAD_START_ROUTINE)(
1.1       root      208:     LPVOID lpThreadParameter
                    209:     );
                    210: typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
                    211: 
                    212: typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
                    213: typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
                    214: typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
                    215: 
1.1.1.3   root      216: typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
                    217: typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
                    218: typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
                    219: 
1.1.1.4 ! root      220: #ifdef _X86_
1.1       root      221: typedef PLDT_ENTRY LPLDT_ENTRY;
                    222: #else
                    223: typedef LPVOID LPLDT_ENTRY;
                    224: #endif
                    225: 
                    226: #define MUTEX_MODIFY_STATE MUTANT_QUERY_STATE
                    227: #define MUTEX_ALL_ACCESS MUTANT_ALL_ACCESS
                    228: 
                    229: //
1.1.1.2   root      230: // Serial provider type.
                    231: //
                    232: 
                    233: #define SP_SERIALCOMM    ((DWORD)0x00000001)
                    234: 
                    235: //
                    236: // Provider SubTypes
                    237: //
                    238: 
                    239: #define PST_UNSPECIFIED      ((DWORD)0x00000000)
                    240: #define PST_RS232            ((DWORD)0x00000001)
                    241: #define PST_PARALLELPORT     ((DWORD)0x00000002)
                    242: #define PST_RS422            ((DWORD)0x00000003)
                    243: #define PST_RS423            ((DWORD)0x00000004)
                    244: #define PST_RS449            ((DWORD)0x00000005)
                    245: #define PST_FAX              ((DWORD)0x00000021)
                    246: #define PST_SCANNER          ((DWORD)0x00000022)
                    247: #define PST_NETWORK_BRIDGE   ((DWORD)0x00000100)
                    248: #define PST_LAT              ((DWORD)0x00000101)
                    249: #define PST_TCPIP_TELNET     ((DWORD)0x00000102)
                    250: #define PST_X25              ((DWORD)0x00000103)
                    251: 
                    252: 
                    253: //
1.1       root      254: // Provider capabilities flags.
                    255: //
                    256: 
1.1.1.2   root      257: #define PCF_DTRDSR        ((DWORD)0x0001)
                    258: #define PCF_RTSCTS        ((DWORD)0x0002)
                    259: #define PCF_RLSD          ((DWORD)0x0004)
                    260: #define PCF_PARITY_CHECK  ((DWORD)0x0008)
                    261: #define PCF_XONXOFF       ((DWORD)0x0010)
                    262: #define PCF_SETXCHAR      ((DWORD)0x0020)
                    263: #define PCF_TOTALTIMEOUTS ((DWORD)0x0040)
                    264: #define PCF_INTTIMEOUTS   ((DWORD)0x0080)
                    265: #define PCF_SPECIALCHARS  ((DWORD)0x0100)
                    266: #define PCF_16BITMODE     ((DWORD)0x0200)
1.1       root      267: 
                    268: //
                    269: // Comm provider settable parameters.
                    270: //
                    271: 
                    272: #define SP_PARITY         ((DWORD)0x0001)
                    273: #define SP_BAUD           ((DWORD)0x0002)
                    274: #define SP_DATABITS       ((DWORD)0x0004)
                    275: #define SP_STOPBITS       ((DWORD)0x0008)
                    276: #define SP_HANDSHAKING    ((DWORD)0x0010)
                    277: #define SP_PARITY_CHECK   ((DWORD)0x0020)
1.1.1.2   root      278: #define SP_RLSD           ((DWORD)0x0040)
1.1       root      279: 
                    280: //
                    281: // Settable baud rates in the provider.
                    282: //
                    283: 
                    284: #define BAUD_075          ((DWORD)0x00000001)
                    285: #define BAUD_110          ((DWORD)0x00000002)
                    286: #define BAUD_134_5        ((DWORD)0x00000004)
                    287: #define BAUD_150          ((DWORD)0x00000008)
                    288: #define BAUD_300          ((DWORD)0x00000010)
                    289: #define BAUD_600          ((DWORD)0x00000020)
                    290: #define BAUD_1200         ((DWORD)0x00000040)
                    291: #define BAUD_1800         ((DWORD)0x00000080)
                    292: #define BAUD_2400         ((DWORD)0x00000100)
                    293: #define BAUD_4800         ((DWORD)0x00000200)
                    294: #define BAUD_7200         ((DWORD)0x00000400)
                    295: #define BAUD_9600         ((DWORD)0x00000800)
                    296: #define BAUD_14400        ((DWORD)0x00001000)
                    297: #define BAUD_19200        ((DWORD)0x00002000)
                    298: #define BAUD_38400        ((DWORD)0x00004000)
                    299: #define BAUD_56K          ((DWORD)0x00008000)
1.1.1.2   root      300: #define BAUD_128K         ((DWORD)0x00010000)
1.1.1.4 ! root      301: #define BAUD_115200       ((DWORD)0x00020000)
        !           302: #define BAUD_57600        ((DWORD)0x00040000)
1.1       root      303: #define BAUD_USER         ((DWORD)0x10000000)
                    304: 
                    305: //
                    306: // Settable Data Bits
                    307: //
                    308: 
                    309: #define DATABITS_5        ((WORD)0x0001)
                    310: #define DATABITS_6        ((WORD)0x0002)
                    311: #define DATABITS_7        ((WORD)0x0004)
                    312: #define DATABITS_8        ((WORD)0x0008)
                    313: #define DATABITS_16       ((WORD)0x0010)
                    314: #define DATABITS_16X      ((WORD)0x0020)
                    315: 
                    316: //
                    317: // Settable Stop and Parity bits.
                    318: //
                    319: 
                    320: #define STOPBITS_10       ((WORD)0x0001)
                    321: #define STOPBITS_15       ((WORD)0x0002)
                    322: #define STOPBITS_20       ((WORD)0x0004)
                    323: #define PARITY_NONE       ((WORD)0x0100)
                    324: #define PARITY_ODD        ((WORD)0x0200)
                    325: #define PARITY_EVEN       ((WORD)0x0400)
                    326: #define PARITY_MARK       ((WORD)0x0800)
                    327: #define PARITY_SPACE      ((WORD)0x1000)
                    328: 
                    329: typedef struct _COMMPROP {
                    330:     WORD wPacketLength;
                    331:     WORD wPacketVersion;
                    332:     DWORD dwServiceMask;
1.1.1.2   root      333:     DWORD dwReserved1;
1.1       root      334:     DWORD dwMaxTxQueue;
                    335:     DWORD dwMaxRxQueue;
                    336:     DWORD dwMaxBaud;
                    337:     DWORD dwProvSubType;
                    338:     DWORD dwProvCapabilities;
                    339:     DWORD dwSettableParams;
                    340:     DWORD dwSettableBaud;
                    341:     WORD wSettableData;
                    342:     WORD wSettableStopParity;
                    343:     DWORD dwCurrentTxQueue;
                    344:     DWORD dwCurrentRxQueue;
                    345:     DWORD dwProvSpec1;
                    346:     DWORD dwProvSpec2;
1.1.1.2   root      347:     WCHAR wcProvChar[1];
1.1       root      348: } COMMPROP,*LPCOMMPROP;
                    349: 
                    350: typedef struct _COMSTAT {
                    351:     DWORD fCtsHold : 1;
                    352:     DWORD fDsrHold : 1;
                    353:     DWORD fRlsdHold : 1;
                    354:     DWORD fXoffHold : 1;
                    355:     DWORD fXoffSent : 1;
                    356:     DWORD fEof : 1;
                    357:     DWORD fTxim : 1;
1.1.1.4 ! root      358:     DWORD fReserved : 25;
1.1       root      359:     DWORD cbInQue;
                    360:     DWORD cbOutQue;
                    361: } COMSTAT, *LPCOMSTAT;
                    362: 
                    363: //
                    364: // DTR Control Flow Values.
                    365: //
                    366: #define DTR_CONTROL_DISABLE    0x00
                    367: #define DTR_CONTROL_ENABLE     0x01
                    368: #define DTR_CONTROL_HANDSHAKE  0x02
                    369: 
                    370: //
                    371: // RTS Control Flow Values
                    372: //
                    373: #define RTS_CONTROL_DISABLE    0x00
                    374: #define RTS_CONTROL_ENABLE     0x01
                    375: #define RTS_CONTROL_HANDSHAKE  0x02
1.1.1.2   root      376: #define RTS_CONTROL_TOGGLE     0x03
1.1       root      377: 
                    378: typedef struct _DCB {
                    379:     DWORD DCBlength;      /* sizeof(DCB)                     */
                    380:     DWORD BaudRate;       /* Baudrate at which running       */
                    381:     DWORD fBinary: 1;     /* Binary Mode (skip EOF check)    */
                    382:     DWORD fParity: 1;     /* Enable parity checking          */
                    383:     DWORD fOutxCtsFlow:1; /* CTS handshaking on output       */
                    384:     DWORD fOutxDsrFlow:1; /* DSR handshaking on output       */
                    385:     DWORD fDtrControl:2;  /* DTR Flow control                */
1.1.1.2   root      386:     DWORD fDsrSensitivity:1; /* DSR Sensitivity              */
                    387:     DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */
1.1       root      388:     DWORD fOutX: 1;       /* Enable output X-ON/X-OFF        */
                    389:     DWORD fInX: 1;        /* Enable input X-ON/X-OFF         */
1.1.1.2   root      390:     DWORD fErrorChar: 1;  /* Enable Err Replacement          */
1.1       root      391:     DWORD fNull: 1;       /* Enable Null stripping           */
                    392:     DWORD fRtsControl:2;  /* Rts Flow control                */
1.1.1.2   root      393:     DWORD fAbortOnError:1; /* Abort all reads and writes on Error */
1.1.1.4 ! root      394:     DWORD fDummy2:17;     /* Reserved                        */
1.1.1.2   root      395:     WORD wReserved;       /* Not currently used              */
1.1       root      396:     WORD XonLim;          /* Transmit X-ON threshold         */
                    397:     WORD XoffLim;         /* Transmit X-OFF threshold        */
                    398:     BYTE ByteSize;        /* Number of bits/byte, 4-8        */
                    399:     BYTE Parity;          /* 0-4=None,Odd,Even,Mark,Space    */
                    400:     BYTE StopBits;        /* 0,1,2 = 1, 1.5, 2               */
                    401:     char XonChar;         /* Tx and Rx X-ON character        */
                    402:     char XoffChar;        /* Tx and Rx X-OFF character       */
1.1.1.2   root      403:     char ErrorChar;       /* Error replacement char          */
1.1       root      404:     char EofChar;         /* End of Input character          */
                    405:     char EvtChar;         /* Recieved Event character        */
                    406: } DCB, *LPDCB;
                    407: 
                    408: typedef struct _COMMTIMEOUTS {
                    409:     DWORD ReadIntervalTimeout;          /* Maximum time between read chars. */
                    410:     DWORD ReadTotalTimeoutMultiplier;   /* Multiplier of characters.        */
                    411:     DWORD ReadTotalTimeoutConstant;     /* Constant in milliseconds.        */
                    412:     DWORD WriteTotalTimeoutMultiplier;  /* Multiplier of characters.        */
                    413:     DWORD WriteTotalTimeoutConstant;    /* Constant in milliseconds.        */
                    414: } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
                    415: 
                    416: typedef struct _SYSTEM_INFO {
                    417:     DWORD dwOemId;
                    418:     DWORD dwPageSize;
                    419:     LPVOID lpMinimumApplicationAddress;
                    420:     LPVOID lpMaximumApplicationAddress;
                    421:     DWORD dwActiveProcessorMask;
                    422:     DWORD dwNumberOfProcessors;
                    423:     DWORD dwProcessorType;
1.1.1.4 ! root      424:     DWORD dwAllocationGranularity;
        !           425:     DWORD dwReserved;
1.1       root      426: } SYSTEM_INFO, *LPSYSTEM_INFO;
                    427: 
                    428: #define FreeModule(hLibModule) FreeLibrary((hLibModule))
                    429: #define MakeProcInstance(lpProc,hInstance) (lpProc)
1.1.1.3   root      430: #define FreeProcInstance(lpProc) (lpProc)
1.1       root      431: 
                    432: /* Global Memory Flags */
                    433: #define GMEM_FIXED          0x0000
                    434: #define GMEM_MOVEABLE       0x0002
                    435: #define GMEM_NOCOMPACT      0x0010
                    436: #define GMEM_NODISCARD      0x0020
                    437: #define GMEM_ZEROINIT       0x0040
                    438: #define GMEM_MODIFY         0x0080
                    439: #define GMEM_DISCARDABLE    0x0100
                    440: #define GMEM_NOT_BANKED     0x1000
                    441: #define GMEM_SHARE          0x2000
                    442: #define GMEM_DDESHARE       0x2000
                    443: #define GMEM_NOTIFY         0x4000
                    444: #define GMEM_LOWER          GMEM_NOT_BANKED
                    445: #define GMEM_VALID_FLAGS    0x7F72
                    446: #define GMEM_INVALID_HANDLE 0x8000
                    447: 
                    448: #define GHND                (GMEM_MOVEABLE | GMEM_ZEROINIT)
                    449: #define GPTR                (GMEM_FIXED | GMEM_ZEROINIT)
                    450: 
1.1.1.2   root      451: #define GlobalLRUNewest( h )    (HANDLE)(h)
                    452: #define GlobalLRUOldest( h )    (HANDLE)(h)
                    453: #define GlobalDiscard( h )      GlobalReAlloc( (h), 0, GMEM_MOVEABLE )
1.1       root      454: 
                    455: /* Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE) */
                    456: #define GMEM_DISCARDED      0x4000
                    457: #define GMEM_LOCKCOUNT      0x00FF
                    458: 
                    459: typedef struct _MEMORYSTATUS {
                    460:     DWORD dwLength;
                    461:     DWORD dwMemoryLoad;
                    462:     DWORD dwTotalPhys;
                    463:     DWORD dwAvailPhys;
                    464:     DWORD dwTotalPageFile;
                    465:     DWORD dwAvailPageFile;
                    466:     DWORD dwTotalVirtual;
                    467:     DWORD dwAvailVirtual;
                    468: } MEMORYSTATUS, *LPMEMORYSTATUS;
                    469: 
                    470: /* Local Memory Flags */
                    471: #define LMEM_FIXED          0x0000
                    472: #define LMEM_MOVEABLE       0x0002
                    473: #define LMEM_NOCOMPACT      0x0010
                    474: #define LMEM_NODISCARD      0x0020
                    475: #define LMEM_ZEROINIT       0x0040
                    476: #define LMEM_MODIFY         0x0080
                    477: #define LMEM_DISCARDABLE    0x0F00
                    478: #define LMEM_VALID_FLAGS    0x0F72
                    479: #define LMEM_INVALID_HANDLE 0x8000
                    480: 
                    481: #define LHND                (LMEM_MOVEABLE | LMEM_ZEROINIT)
                    482: #define LPTR                (LMEM_FIXED | LMEM_ZEROINIT)
                    483: 
                    484: #define NONZEROLHND         (LMEM_MOVEABLE)
                    485: #define NONZEROLPTR         (LMEM_FIXED)
                    486: 
1.1.1.2   root      487: #define LocalDiscard( h )   LocalReAlloc( (h), 0, LMEM_MOVEABLE )
1.1       root      488: 
                    489: /* Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) */
                    490: #define LMEM_DISCARDED      0x4000
                    491: #define LMEM_LOCKCOUNT      0x00FF
                    492: 
                    493: //
                    494: // dwCreationFlag values
                    495: //
                    496: 
                    497: #define DEBUG_PROCESS               0x00000001
                    498: #define DEBUG_ONLY_THIS_PROCESS     0x00000002
                    499: 
                    500: #define CREATE_SUSPENDED            0x00000004
                    501: 
                    502: #define DETACHED_PROCESS            0x00000008
                    503: 
                    504: #define CREATE_NEW_CONSOLE          0x00000010
                    505: 
1.1.1.2   root      506: #define NORMAL_PRIORITY_CLASS       0x00000020
                    507: #define IDLE_PRIORITY_CLASS         0x00000040
                    508: #define HIGH_PRIORITY_CLASS         0x00000080
1.1.1.3   root      509: #define REALTIME_PRIORITY_CLASS     0x00000100
                    510: 
                    511: #define CREATE_NEW_PROCESS_GROUP    0x00000200
1.1.1.2   root      512: 
                    513: #define CREATE_NO_WINDOW            0x08000000
                    514: 
1.1       root      515: #define PROFILE_USER                0x10000000
                    516: #define PROFILE_KERNEL              0x20000000
                    517: #define PROFILE_SERVER              0x40000000
                    518: 
                    519: #define THREAD_PRIORITY_LOWEST          THREAD_BASE_PRIORITY_MIN
                    520: #define THREAD_PRIORITY_BELOW_NORMAL    (THREAD_PRIORITY_LOWEST+1)
                    521: #define THREAD_PRIORITY_NORMAL          0
                    522: #define THREAD_PRIORITY_HIGHEST         THREAD_BASE_PRIORITY_MAX
                    523: #define THREAD_PRIORITY_ABOVE_NORMAL    (THREAD_PRIORITY_HIGHEST-1)
                    524: #define THREAD_PRIORITY_ERROR_RETURN    (MAXLONG)
                    525: 
1.1.1.3   root      526: #define THREAD_PRIORITY_TIME_CRITICAL   THREAD_BASE_PRIORITY_LOWRT
                    527: #define THREAD_PRIORITY_IDLE            THREAD_BASE_PRIORITY_IDLE
                    528: 
1.1       root      529: //
                    530: // Debug APIs
                    531: //
                    532: #define EXCEPTION_DEBUG_EVENT       1
                    533: #define CREATE_THREAD_DEBUG_EVENT   2
                    534: #define CREATE_PROCESS_DEBUG_EVENT  3
                    535: #define EXIT_THREAD_DEBUG_EVENT     4
                    536: #define EXIT_PROCESS_DEBUG_EVENT    5
                    537: #define LOAD_DLL_DEBUG_EVENT        6
                    538: #define UNLOAD_DLL_DEBUG_EVENT      7
                    539: #define OUTPUT_DEBUG_STRING_EVENT   8
1.1.1.2   root      540: #define RIP_EVENT                   9
1.1       root      541: 
                    542: typedef struct _EXCEPTION_DEBUG_INFO {
                    543:     EXCEPTION_RECORD ExceptionRecord;
                    544:     DWORD dwFirstChance;
                    545: } EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;
                    546: 
                    547: typedef struct _CREATE_THREAD_DEBUG_INFO {
                    548:     HANDLE hThread;
1.1.1.4 ! root      549:     LPVOID lpThreadLocalBase;
1.1       root      550:     LPTHREAD_START_ROUTINE lpStartAddress;
                    551: } CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;
                    552: 
                    553: typedef struct _CREATE_PROCESS_DEBUG_INFO {
                    554:     HANDLE hFile;
                    555:     HANDLE hProcess;
                    556:     HANDLE hThread;
                    557:     LPVOID lpBaseOfImage;
                    558:     DWORD dwDebugInfoFileOffset;
                    559:     DWORD nDebugInfoSize;
1.1.1.4 ! root      560:     LPVOID lpThreadLocalBase;
1.1       root      561:     LPTHREAD_START_ROUTINE lpStartAddress;
1.1.1.4 ! root      562:     LPVOID lpImageName;
        !           563:     WORD fUnicode;
1.1       root      564: } CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
                    565: 
                    566: typedef struct _EXIT_THREAD_DEBUG_INFO {
                    567:     DWORD dwExitCode;
                    568: } EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;
                    569: 
                    570: typedef struct _EXIT_PROCESS_DEBUG_INFO {
                    571:     DWORD dwExitCode;
                    572: } EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;
                    573: 
                    574: typedef struct _LOAD_DLL_DEBUG_INFO {
                    575:     HANDLE hFile;
                    576:     LPVOID lpBaseOfDll;
                    577:     DWORD dwDebugInfoFileOffset;
                    578:     DWORD nDebugInfoSize;
1.1.1.4 ! root      579:     LPVOID lpImageName;
        !           580:     WORD fUnicode;
1.1       root      581: } LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;
                    582: 
                    583: typedef struct _UNLOAD_DLL_DEBUG_INFO {
                    584:     LPVOID lpBaseOfDll;
                    585: } UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;
                    586: 
                    587: typedef struct _OUTPUT_DEBUG_STRING_INFO {
                    588:     LPSTR lpDebugStringData;
                    589:     WORD fUnicode;
                    590:     WORD nDebugStringLength;
                    591: } OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;
                    592: 
1.1.1.2   root      593: typedef struct _RIP_INFO {
                    594:     DWORD dwError;
                    595:     DWORD dwType;
                    596: } RIP_INFO, *LPRIP_INFO;
                    597: 
                    598: 
1.1       root      599: typedef struct _DEBUG_EVENT {
                    600:     DWORD dwDebugEventCode;
                    601:     DWORD dwProcessId;
                    602:     DWORD dwThreadId;
                    603:     union {
                    604:         EXCEPTION_DEBUG_INFO Exception;
                    605:         CREATE_THREAD_DEBUG_INFO CreateThread;
                    606:         CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
                    607:         EXIT_THREAD_DEBUG_INFO ExitThread;
                    608:         EXIT_THREAD_DEBUG_INFO ExitProcess;
                    609:         LOAD_DLL_DEBUG_INFO LoadDll;
                    610:         UNLOAD_DLL_DEBUG_INFO UnloadDll;
                    611:         OUTPUT_DEBUG_STRING_INFO DebugString;
1.1.1.2   root      612:         RIP_INFO RipInfo;
1.1       root      613:     } u;
                    614: } DEBUG_EVENT, *LPDEBUG_EVENT;
                    615: 
                    616: typedef PCONTEXT LPCONTEXT;
                    617: typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
1.1.1.2   root      618: typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
1.1       root      619: 
                    620: #define DRIVE_REMOVABLE 2
                    621: #define DRIVE_FIXED     3
                    622: #define DRIVE_REMOTE    4
                    623: #define DRIVE_CDROM     5
                    624: #define DRIVE_RAMDISK   6
                    625: 
                    626: 
                    627: #define GetFreeSpace(w)                 (0x100000L)
                    628: 
                    629: 
                    630: #define FILE_TYPE_UNKNOWN   0x0000
                    631: #define FILE_TYPE_DISK      0x0001
                    632: #define FILE_TYPE_CHAR      0x0002
                    633: #define FILE_TYPE_PIPE      0x0003
                    634: #define FILE_TYPE_REMOTE    0x8000
                    635: 
                    636: 
                    637: #define STD_INPUT_HANDLE    (DWORD)-10
                    638: #define STD_OUTPUT_HANDLE   (DWORD)-11
                    639: #define STD_ERROR_HANDLE      (DWORD)-12
                    640: 
                    641: #define NOPARITY            0
                    642: #define ODDPARITY           1
                    643: #define EVENPARITY          2
                    644: #define MARKPARITY          3
                    645: #define SPACEPARITY         4
                    646: 
                    647: #define ONESTOPBIT          0
                    648: #define ONE5STOPBITS        1
                    649: #define TWOSTOPBITS         2
                    650: 
                    651: #define IGNORE              0       // Ignore signal
                    652: #define INFINITE            0xFFFFFFFF  // Infinite timeout
                    653: 
                    654: //
                    655: // Basud rates at which the communication device operates
                    656: //
                    657: 
                    658: #define CBR_110             110
                    659: #define CBR_300             300
                    660: #define CBR_600             600
                    661: #define CBR_1200            1200
                    662: #define CBR_2400            2400
                    663: #define CBR_4800            4800
                    664: #define CBR_9600            9600
                    665: #define CBR_14400           14400
                    666: #define CBR_19200           19200
                    667: #define CBR_38400           38400
                    668: #define CBR_56000           56000
1.1.1.4 ! root      669: #define CBR_57600           57600
        !           670: #define CBR_115200          115200
1.1       root      671: #define CBR_128000          128000
                    672: #define CBR_256000          256000
                    673: 
                    674: //
                    675: // Error Flags
                    676: //
                    677: 
                    678: #define CE_RXOVER           0x0001  // Receive Queue overflow
                    679: #define CE_OVERRUN          0x0002  // Receive Overrun Error
                    680: #define CE_RXPARITY         0x0004  // Receive Parity Error
                    681: #define CE_FRAME            0x0008  // Receive Framing error
                    682: #define CE_BREAK            0x0010  // Break Detected
                    683: #define CE_TXFULL           0x0100  // TX Queue is full
                    684: #define CE_PTO              0x0200  // LPTx Timeout
                    685: #define CE_IOE              0x0400  // LPTx I/O Error
                    686: #define CE_DNS              0x0800  // LPTx Device not selected
                    687: #define CE_OOP              0x1000  // LPTx Out-Of-Paper
                    688: #define CE_MODE             0x8000  // Requested mode unsupported
                    689: 
                    690: #define IE_BADID            (-1)    // Invalid or unsupported id
                    691: #define IE_OPEN             (-2)    // Device Already Open
                    692: #define IE_NOPEN            (-3)    // Device Not Open
                    693: #define IE_MEMORY           (-4)    // Unable to allocate queues
                    694: #define IE_DEFAULT          (-5)    // Error in default parameters
                    695: #define IE_HARDWARE         (-10)   // Hardware Not Present
                    696: #define IE_BYTESIZE         (-11)   // Illegal Byte Size
                    697: #define IE_BAUDRATE         (-12)   // Unsupported BaudRate
                    698: 
                    699: //
                    700: // Events
                    701: //
                    702: 
                    703: #define EV_RXCHAR           0x0001  // Any Character received
                    704: #define EV_RXFLAG           0x0002  // Received certain character
                    705: #define EV_TXEMPTY          0x0004  // Transmitt Queue Empty
                    706: #define EV_CTS              0x0008  // CTS changed state
                    707: #define EV_DSR              0x0010  // DSR changed state
                    708: #define EV_RLSD             0x0020  // RLSD changed state
                    709: #define EV_BREAK            0x0040  // BREAK received
                    710: #define EV_ERR              0x0080  // Line status error occurred
                    711: #define EV_RING             0x0100  // Ring signal detected
                    712: #define EV_PERR             0x0200  // Printer error occured
                    713: #define EV_RX80FULL         0x0400  // Receive buffer is 80 percent full
                    714: #define EV_EVENT1           0x0800  // Provider specific event 1
                    715: #define EV_EVENT2           0x1000  // Provider specific event 2
                    716: 
                    717: //
                    718: // Escape Functions
                    719: //
                    720: 
                    721: #define SETXOFF             1       // Simulate XOFF received
                    722: #define SETXON              2       // Simulate XON received
                    723: #define SETRTS              3       // Set RTS high
                    724: #define CLRRTS              4       // Set RTS low
                    725: #define SETDTR              5       // Set DTR high
                    726: #define CLRDTR              6       // Set DTR low
                    727: #define RESETDEV            7       // Reset device if possible
                    728: #define SETBREAK            8       // Set the device break line.
                    729: #define CLRBREAK            9       // Clear the device break line.
                    730: 
                    731: //
                    732: // PURGE function flags.
                    733: //
                    734: #define PURGE_TXABORT       0x0001  // Kill the pending/current writes to the comm port.
                    735: #define PURGE_RXABORT       0x0002  // Kill the pending/current reads to the comm port.
                    736: #define PURGE_TXCLEAR       0x0004  // Kill the transmit queue if there.
                    737: #define PURGE_RXCLEAR       0x0008  // Kill the typeahead buffer if there.
                    738: 
                    739: #define LPTx                0x80    // Set if ID is for LPT device
                    740: 
                    741: //
                    742: // Modem Status Flags
                    743: //
                    744: #define MS_CTS_ON           ((DWORD)0x0010)
                    745: #define MS_DSR_ON           ((DWORD)0x0020)
                    746: #define MS_RING_ON          ((DWORD)0x0040)
                    747: #define MS_RLSD_ON          ((DWORD)0x0080)
                    748: 
                    749: //
                    750: // WaitSoundState() Constants
                    751: //
                    752: 
                    753: #define S_QUEUEEMPTY        0
                    754: #define S_THRESHOLD         1
                    755: #define S_ALLTHRESHOLD      2
                    756: 
                    757: //
                    758: // Accent Modes
                    759: //
                    760: 
                    761: #define S_NORMAL      0
                    762: #define S_LEGATO      1
                    763: #define S_STACCATO    2
                    764: 
                    765: //
                    766: // SetSoundNoise() Sources
                    767: //
                    768: 
                    769: #define S_PERIOD512   0     // Freq = N/512 high pitch, less coarse hiss
                    770: #define S_PERIOD1024  1     // Freq = N/1024
                    771: #define S_PERIOD2048  2     // Freq = N/2048 low pitch, more coarse hiss
                    772: #define S_PERIODVOICE 3     // Source is frequency from voice channel (3)
                    773: #define S_WHITE512    4     // Freq = N/512 high pitch, less coarse hiss
                    774: #define S_WHITE1024   5     // Freq = N/1024
                    775: #define S_WHITE2048   6     // Freq = N/2048 low pitch, more coarse hiss
                    776: #define S_WHITEVOICE  7     // Source is frequency from voice channel (3)
                    777: 
                    778: #define S_SERDVNA     (-1)  // Device not available
                    779: #define S_SEROFM      (-2)  // Out of memory
                    780: #define S_SERMACT     (-3)  // Music active
                    781: #define S_SERQFUL     (-4)  // Queue full
                    782: #define S_SERBDNT     (-5)  // Invalid note
                    783: #define S_SERDLN      (-6)  // Invalid note length
                    784: #define S_SERDCC      (-7)  // Invalid note count
                    785: #define S_SERDTP      (-8)  // Invalid tempo
                    786: #define S_SERDVL      (-9)  // Invalid volume
                    787: #define S_SERDMD      (-10) // Invalid mode
                    788: #define S_SERDSH      (-11) // Invalid shape
                    789: #define S_SERDPT      (-12) // Invalid pitch
                    790: #define S_SERDFQ      (-13) // Invalid frequency
                    791: #define S_SERDDR      (-14) // Invalid duration
                    792: #define S_SERDSR      (-15) // Invalid source
                    793: #define S_SERDST      (-16) // Invalid state
                    794: 
                    795: #define NMPWAIT_WAIT_FOREVER            0xffffffff
                    796: #define NMPWAIT_NOWAIT                  0x00000001
                    797: #define NMPWAIT_USE_DEFAULT_WAIT        0x00000000
                    798: 
                    799: #define FS_CASE_IS_PRESERVED            FILE_CASE_PRESERVED_NAMES
                    800: #define FS_CASE_SENSITIVE               FILE_CASE_SENSITIVE_SEARCH
                    801: #define FS_UNICODE_STORED_ON_DISK       FILE_UNICODE_ON_DISK
1.1.1.4 ! root      802: #define FS_PERSISTENT_ACLS              FILE_PERSISTENT_ACLS
1.1       root      803: 
1.1.1.4 ! root      804: #define FILE_MAP_COPY       SECTION_QUERY
1.1       root      805: #define FILE_MAP_WRITE      SECTION_MAP_WRITE
                    806: #define FILE_MAP_READ       SECTION_MAP_READ
                    807: #define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS
                    808: 
                    809: #define OF_READ             0x00000000
                    810: #define OF_WRITE            0x00000001
                    811: #define OF_READWRITE        0x00000002
                    812: #define OF_SHARE_COMPAT     0x00000000
                    813: #define OF_SHARE_EXCLUSIVE  0x00000010
                    814: #define OF_SHARE_DENY_WRITE 0x00000020
                    815: #define OF_SHARE_DENY_READ  0x00000030
                    816: #define OF_SHARE_DENY_NONE  0x00000040
                    817: #define OF_PARSE            0x00000100
                    818: #define OF_DELETE           0x00000200
                    819: #define OF_VERIFY           0x00000400
                    820: #define OF_CANCEL           0x00000800
                    821: #define OF_CREATE           0x00001000
                    822: #define OF_PROMPT           0x00002000
                    823: #define OF_EXIST            0x00004000
                    824: #define OF_REOPEN           0x00008000
                    825: 
1.1.1.2   root      826: #define OFS_MAXPATHNAME 128
1.1       root      827: typedef struct _OFSTRUCT {
                    828:     BYTE cBytes;
                    829:     BYTE fFixedDisk;
                    830:     WORD nErrCode;
                    831:     WORD Reserved1;
                    832:     WORD Reserved2;
1.1.1.4 ! root      833:     CHAR szPathName[OFS_MAXPATHNAME];
1.1       root      834: } OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT;
                    835: 
1.1.1.4 ! root      836: //
        !           837: // The MS-MIPS compiler supports intrinsic functions for interlocked
        !           838: // increment, decrement, and exchange.
        !           839: //
        !           840: 
        !           841: #if defined(_M_MRX000) && !defined(RC_INVOKED)
        !           842: 
        !           843: #define InterlockedIncrement _InterlockedIncrement
        !           844: #define InterlockedDecrement _InterlockedDecrement
        !           845: #define InterlockedExchange _InterlockedExchange
        !           846: 
        !           847: #endif
        !           848: 
1.1       root      849: LONG
1.1.1.2   root      850: WINAPI
1.1       root      851: InterlockedIncrement(
                    852:     LPLONG lpAddend
                    853:     );
                    854: 
                    855: LONG
1.1.1.2   root      856: WINAPI
1.1       root      857: InterlockedDecrement(
                    858:     LPLONG lpAddend
                    859:     );
                    860: 
1.1.1.4 ! root      861: LONG
        !           862: WINAPI
        !           863: InterlockedExchange(
        !           864:     LPLONG Target,
        !           865:     LONG Value
        !           866:     );
        !           867: 
        !           868: #if defined(_M_MRX000) && !defined(RC_INVOKED)
        !           869: 
        !           870: #pragma intrinsic(_InterlockedIncrement)
        !           871: #pragma intrinsic(_InterlockedDecrement)
        !           872: #pragma intrinsic(_InterlockedExchange)
        !           873: 
        !           874: #endif
        !           875: 
1.1.1.2   root      876: BOOL
                    877: WINAPI
1.1       root      878: FreeResource(
1.1.1.2   root      879:         HGLOBAL hResData
1.1       root      880:         );
                    881: 
1.1.1.2   root      882: LPVOID
                    883: WINAPI
1.1       root      884: LockResource(
1.1.1.2   root      885:         HGLOBAL hResData
1.1       root      886:         );
                    887: 
                    888: #define UnlockResource(hResData) ((hResData), 0)
                    889: #define MAXINTATOM 0xC000
1.1.1.2   root      890: #define MAKEINTATOM(i)  (LPTSTR)((DWORD)((WORD)(i)))
                    891: #define INVALID_ATOM ((ATOM)0)
1.1       root      892: 
                    893: int
1.1.1.2   root      894: WINAPI
1.1       root      895: WinMain(
1.1.1.3   root      896:     HINSTANCE hInstance,
                    897:     HINSTANCE hPrevInstance,
1.1       root      898:     LPSTR lpCmdLine,
                    899:     int nShowCmd
                    900:     );
                    901: 
                    902: BOOL
1.1.1.2   root      903: WINAPI
1.1       root      904: FreeLibrary(
1.1.1.3   root      905:     HINSTANCE hLibModule
1.1       root      906:     );
                    907: 
                    908: FARPROC
1.1.1.2   root      909: WINAPI
1.1       root      910: GetProcAddress(
1.1.1.3   root      911:     HINSTANCE hModule,
1.1.1.2   root      912:     LPCSTR lpProcName
1.1       root      913:     );
                    914: 
                    915: DWORD
1.1.1.2   root      916: WINAPI
1.1       root      917: GetVersion( VOID );
                    918: 
1.1.1.2   root      919: HGLOBAL
                    920: WINAPI
1.1       root      921: GlobalAlloc(
1.1.1.2   root      922:     UINT uFlags,
1.1       root      923:     DWORD dwBytes
                    924:     );
                    925: 
1.1.1.2   root      926: HGLOBAL
                    927: WINAPI
1.1       root      928: GlobalReAlloc(
1.1.1.2   root      929:     HGLOBAL hMem,
1.1       root      930:     DWORD dwBytes,
1.1.1.2   root      931:     UINT uFlags
1.1       root      932:     );
                    933: 
                    934: DWORD
1.1.1.2   root      935: WINAPI
1.1       root      936: GlobalSize(
1.1.1.2   root      937:     HGLOBAL hMem
1.1       root      938:     );
                    939: 
1.1.1.2   root      940: UINT
                    941: WINAPI
1.1       root      942: GlobalFlags(
1.1.1.2   root      943:     HGLOBAL hMem
1.1       root      944:     );
                    945: 
                    946: 
1.1.1.2   root      947: LPVOID
                    948: WINAPI
1.1       root      949: GlobalLock(
1.1.1.2   root      950:     HGLOBAL hMem
1.1       root      951:     );
                    952: 
1.1.1.2   root      953: //!!!MWH My version  win31 = DWORD WINAPI GlobalHandle(UINT)
                    954: HGLOBAL
                    955: WINAPI
1.1       root      956: GlobalHandle(
1.1.1.4 ! root      957:     LPCVOID pMem
1.1       root      958:     );
                    959: 
                    960: 
                    961: BOOL
1.1.1.2   root      962: WINAPI
1.1       root      963: GlobalUnlock(
1.1.1.2   root      964:     HGLOBAL hMem
1.1       root      965:     );
                    966: 
                    967: 
1.1.1.2   root      968: HGLOBAL
                    969: WINAPI
1.1       root      970: GlobalFree(
1.1.1.2   root      971:     HGLOBAL hMem
                    972:     );
                    973: 
                    974: UINT
                    975: WINAPI
                    976: GlobalCompact(
                    977:     DWORD dwMinFree
                    978:     );
                    979: 
                    980: VOID
                    981: WINAPI
                    982: GlobalFix(
                    983:     HGLOBAL hMem
                    984:     );
                    985: 
                    986: VOID
                    987: WINAPI
                    988: GlobalUnfix(
                    989:     HGLOBAL hMem
                    990:     );
                    991: 
                    992: LPVOID
                    993: WINAPI
                    994: GlobalWire(
                    995:     HGLOBAL hMem
1.1       root      996:     );
                    997: 
1.1.1.2   root      998: BOOL
                    999: WINAPI
                   1000: GlobalUnWire(
                   1001:     HGLOBAL hMem
                   1002:     );
1.1       root     1003: 
                   1004: VOID
1.1.1.2   root     1005: WINAPI
1.1       root     1006: GlobalMemoryStatus(
                   1007:     LPMEMORYSTATUS lpBuffer
                   1008:     );
                   1009: 
1.1.1.2   root     1010: HLOCAL
                   1011: WINAPI
1.1       root     1012: LocalAlloc(
1.1.1.2   root     1013:     UINT uFlags,
                   1014:     UINT uBytes
1.1       root     1015:     );
                   1016: 
1.1.1.2   root     1017: HLOCAL
                   1018: WINAPI
1.1       root     1019: LocalReAlloc(
1.1.1.2   root     1020:     HLOCAL hMem,
                   1021:     UINT uBytes,
                   1022:     UINT uFlags
1.1       root     1023:     );
                   1024: 
1.1.1.2   root     1025: LPVOID
                   1026: WINAPI
1.1       root     1027: LocalLock(
1.1.1.2   root     1028:     HLOCAL hMem
1.1       root     1029:     );
                   1030: 
1.1.1.2   root     1031: HLOCAL
                   1032: WINAPI
1.1       root     1033: LocalHandle(
1.1.1.4 ! root     1034:     LPCVOID pMem
1.1       root     1035:     );
                   1036: 
                   1037: BOOL
1.1.1.2   root     1038: WINAPI
1.1       root     1039: LocalUnlock(
1.1.1.2   root     1040:     HLOCAL hMem
1.1       root     1041:     );
                   1042: 
1.1.1.2   root     1043: UINT
                   1044: WINAPI
1.1       root     1045: LocalSize(
1.1.1.2   root     1046:     HLOCAL hMem
1.1       root     1047:     );
                   1048: 
1.1.1.2   root     1049: UINT
                   1050: WINAPI
1.1       root     1051: LocalFlags(
1.1.1.2   root     1052:     HLOCAL hMem
1.1       root     1053:     );
                   1054: 
1.1.1.2   root     1055: HLOCAL
                   1056: WINAPI
1.1       root     1057: LocalFree(
1.1.1.2   root     1058:     HLOCAL hMem
                   1059:     );
                   1060: 
                   1061: UINT
                   1062: WINAPI
                   1063: LocalShrink(
                   1064:     HLOCAL hMem,
                   1065:     UINT cbNewSize
                   1066:     );
                   1067: 
                   1068: UINT
                   1069: WINAPI
                   1070: LocalCompact(
                   1071:     UINT uMinFree
                   1072:     );
                   1073: 
                   1074: BOOL
                   1075: WINAPI
                   1076: FlushInstructionCache(
                   1077:     HANDLE hProcess,
1.1.1.4 ! root     1078:     LPCVOID lpBaseAddress,
1.1.1.2   root     1079:     DWORD dwSize
1.1       root     1080:     );
                   1081: 
                   1082: LPVOID
1.1.1.2   root     1083: WINAPI
1.1       root     1084: VirtualAlloc(
                   1085:     LPVOID lpAddress,
                   1086:     DWORD dwSize,
                   1087:     DWORD flAllocationType,
                   1088:     DWORD flProtect
                   1089:     );
                   1090: 
                   1091: BOOL
1.1.1.2   root     1092: WINAPI
1.1       root     1093: VirtualFree(
                   1094:     LPVOID lpAddress,
                   1095:     DWORD dwSize,
                   1096:     DWORD dwFreeType
                   1097:     );
                   1098: 
                   1099: BOOL
1.1.1.2   root     1100: WINAPI
1.1       root     1101: VirtualProtect(
                   1102:     LPVOID lpAddress,
                   1103:     DWORD dwSize,
                   1104:     DWORD flNewProtect,
                   1105:     PDWORD lpflOldProtect
                   1106:     );
                   1107: 
                   1108: DWORD
1.1.1.2   root     1109: WINAPI
1.1       root     1110: VirtualQuery(
1.1.1.4 ! root     1111:     LPCVOID lpAddress,
1.1       root     1112:     PMEMORY_BASIC_INFORMATION lpBuffer,
                   1113:     DWORD dwLength
                   1114:     );
                   1115: 
1.1.1.2   root     1116: BOOL
                   1117: WINAPI
                   1118: VirtualProtectEx(
                   1119:     HANDLE hProcess,
                   1120:     LPVOID lpAddress,
                   1121:     DWORD dwSize,
                   1122:     DWORD flNewProtect,
                   1123:     PDWORD lpflOldProtect
                   1124:     );
                   1125: 
                   1126: DWORD
                   1127: WINAPI
                   1128: VirtualQueryEx(
                   1129:     HANDLE hProcess,
1.1.1.4 ! root     1130:     LPCVOID lpAddress,
1.1.1.2   root     1131:     PMEMORY_BASIC_INFORMATION lpBuffer,
                   1132:     DWORD dwLength
                   1133:     );
                   1134: 
1.1       root     1135: HANDLE
1.1.1.2   root     1136: WINAPI
1.1       root     1137: HeapCreate(
                   1138:     DWORD flOptions,
                   1139:     DWORD dwInitialSize,
                   1140:     DWORD dwMaximumSize
                   1141:     );
                   1142: 
                   1143: BOOL
1.1.1.2   root     1144: WINAPI
1.1       root     1145: HeapDestroy(
                   1146:     HANDLE hHeap
                   1147:     );
                   1148: 
1.1.1.4 ! root     1149: LPVOID
1.1.1.2   root     1150: WINAPI
1.1       root     1151: HeapAlloc(
                   1152:     HANDLE hHeap,
1.1.1.4 ! root     1153:     DWORD dwFlags,
        !          1154:     DWORD dwBytes
        !          1155:     );
        !          1156: 
        !          1157: LPVOID
        !          1158: WINAPI
        !          1159: HeapReAlloc(
        !          1160:     HANDLE hHeap,
        !          1161:     DWORD dwFlags,
        !          1162:     LPVOID lpMem,
1.1       root     1163:     DWORD dwBytes
                   1164:     );
                   1165: 
                   1166: BOOL
1.1.1.2   root     1167: WINAPI
1.1       root     1168: HeapFree(
                   1169:     HANDLE hHeap,
1.1.1.4 ! root     1170:     DWORD dwFlags,
        !          1171:     LPVOID lpMem
1.1       root     1172:     );
                   1173: 
                   1174: DWORD
1.1.1.2   root     1175: WINAPI
1.1       root     1176: HeapSize(
                   1177:     HANDLE hHeap,
1.1.1.4 ! root     1178:     DWORD dwFlags,
        !          1179:     LPCVOID lpMem
1.1       root     1180:     );
                   1181: 
1.1.1.4 ! root     1182: HANDLE
        !          1183: WINAPI
        !          1184: GetProcessHeap( VOID );
        !          1185: 
        !          1186: BOOL
        !          1187: WINAPI
        !          1188: GetProcessTimes(
        !          1189:     HANDLE hProcess,
        !          1190:     LPFILETIME lpCreationTime,
        !          1191:     LPFILETIME lpExitTime,
        !          1192:     LPFILETIME lpKernelTime,
        !          1193:     LPFILETIME lpUserTime
        !          1194:     );
1.1       root     1195: 
                   1196: HANDLE
1.1.1.2   root     1197: WINAPI
1.1       root     1198: OpenProcess(
                   1199:     DWORD dwDesiredAccess,
                   1200:     BOOL bInheritHandle,
                   1201:     DWORD dwProcessId
                   1202:     );
                   1203: 
                   1204: HANDLE
1.1.1.2   root     1205: WINAPI
1.1       root     1206: GetCurrentProcess(
                   1207:     VOID
                   1208:     );
                   1209: 
                   1210: DWORD
1.1.1.2   root     1211: WINAPI
1.1       root     1212: GetCurrentProcessId(
                   1213:     VOID
                   1214:     );
                   1215: 
                   1216: VOID
1.1.1.2   root     1217: WINAPI
1.1       root     1218: ExitProcess(
1.1.1.2   root     1219:     UINT uExitCode
1.1       root     1220:     );
                   1221: 
                   1222: BOOL
1.1.1.2   root     1223: WINAPI
1.1       root     1224: TerminateProcess(
                   1225:     HANDLE hProcess,
1.1.1.2   root     1226:     UINT uExitCode
1.1       root     1227:     );
                   1228: 
                   1229: BOOL
1.1.1.2   root     1230: WINAPI
1.1       root     1231: GetExitCodeProcess(
                   1232:     HANDLE hProcess,
                   1233:     LPDWORD lpExitCode
                   1234:     );
                   1235: 
                   1236: 
                   1237: VOID
1.1.1.2   root     1238: WINAPI
1.1       root     1239: FatalExit(
1.1.1.2   root     1240:     int ExitCode
1.1       root     1241:     );
                   1242: 
                   1243: LPVOID
1.1.1.2   root     1244: WINAPI
1.1       root     1245: GetEnvironmentStrings(
                   1246:     VOID
                   1247:     );
                   1248: 
                   1249: VOID
1.1.1.2   root     1250: WINAPI
1.1       root     1251: RaiseException(
                   1252:     DWORD dwExceptionCode,
                   1253:     DWORD dwExceptionFlags,
                   1254:     DWORD nNumberOfArguments,
1.1.1.4 ! root     1255:     CONST DWORD *lpArguments
1.1       root     1256:     );
                   1257: 
1.1.1.4 ! root     1258: LONG
1.1.1.2   root     1259: WINAPI
1.1       root     1260: UnhandledExceptionFilter(
                   1261:     struct _EXCEPTION_POINTERS *ExceptionInfo
                   1262:     );
                   1263: 
1.1.1.4 ! root     1264: typedef LONG (WINAPI *PTOP_LEVEL_EXCEPTION_FILTER)(
        !          1265:     struct _EXCEPTION_POINTERS *ExceptionInfo
        !          1266:     );
        !          1267: typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
        !          1268: 
        !          1269: LPTOP_LEVEL_EXCEPTION_FILTER
        !          1270: WINAPI
        !          1271: SetUnhandledExceptionFilter(
        !          1272:     LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
        !          1273:     );
        !          1274: 
1.1       root     1275: HANDLE
1.1.1.2   root     1276: WINAPI
1.1       root     1277: CreateThread(
                   1278:     LPSECURITY_ATTRIBUTES lpThreadAttributes,
                   1279:     DWORD dwStackSize,
                   1280:     LPTHREAD_START_ROUTINE lpStartAddress,
                   1281:     LPVOID lpParameter,
                   1282:     DWORD dwCreationFlags,
                   1283:     LPDWORD lpThreadId
                   1284:     );
                   1285: 
                   1286: HANDLE
1.1.1.2   root     1287: WINAPI
                   1288: CreateRemoteThread(
                   1289:     HANDLE hProcess,
                   1290:     LPSECURITY_ATTRIBUTES lpThreadAttributes,
                   1291:     DWORD dwStackSize,
                   1292:     LPTHREAD_START_ROUTINE lpStartAddress,
                   1293:     LPVOID lpParameter,
                   1294:     DWORD dwCreationFlags,
                   1295:     LPDWORD lpThreadId
                   1296:     );
                   1297: 
                   1298: HANDLE
                   1299: WINAPI
1.1       root     1300: GetCurrentThread(
                   1301:     VOID
                   1302:     );
                   1303: 
                   1304: DWORD
1.1.1.2   root     1305: WINAPI
1.1       root     1306: GetCurrentThreadId(
                   1307:     VOID
                   1308:     );
                   1309: 
                   1310: BOOL
1.1.1.2   root     1311: WINAPI
1.1       root     1312: SetThreadPriority(
                   1313:     HANDLE hThread,
                   1314:     int nPriority
                   1315:     );
                   1316: 
                   1317: int
1.1.1.2   root     1318: WINAPI
1.1       root     1319: GetThreadPriority(
                   1320:     HANDLE hThread
                   1321:     );
                   1322: 
1.1.1.4 ! root     1323: BOOL
        !          1324: WINAPI
        !          1325: GetThreadTimes(
        !          1326:     HANDLE hThread,
        !          1327:     LPFILETIME lpCreationTime,
        !          1328:     LPFILETIME lpExitTime,
        !          1329:     LPFILETIME lpKernelTime,
        !          1330:     LPFILETIME lpUserTime
        !          1331:     );
        !          1332: 
1.1       root     1333: VOID
1.1.1.2   root     1334: WINAPI
1.1       root     1335: ExitThread(
                   1336:     DWORD dwExitCode
                   1337:     );
                   1338: 
                   1339: BOOL
1.1.1.2   root     1340: WINAPI
1.1       root     1341: TerminateThread(
                   1342:     HANDLE hThread,
                   1343:     DWORD dwExitCode
                   1344:     );
                   1345: 
                   1346: BOOL
1.1.1.2   root     1347: WINAPI
1.1       root     1348: GetExitCodeThread(
                   1349:     HANDLE hThread,
                   1350:     LPDWORD lpExitCode
                   1351:     );
                   1352: 
                   1353: BOOL
1.1.1.2   root     1354: WINAPI
1.1       root     1355: GetThreadSelectorEntry(
                   1356:     HANDLE hThread,
                   1357:     DWORD dwSelector,
                   1358:     LPLDT_ENTRY lpSelectorEntry
                   1359:     );
                   1360: 
                   1361: DWORD
1.1.1.2   root     1362: WINAPI
1.1       root     1363: GetLastError(
                   1364:     VOID
                   1365:     );
                   1366: 
                   1367: VOID
1.1.1.2   root     1368: WINAPI
1.1       root     1369: SetLastError(
                   1370:     DWORD dwErrCode
                   1371:     );
                   1372: 
1.1.1.4 ! root     1373: 
1.1.1.2   root     1374: //
                   1375: // SetLastErrorEx() types.
                   1376: //
                   1377: #define SLE_ERROR       0x00000001
                   1378: #define SLE_MINORERROR  0x00000002
                   1379: #define SLE_WARNING     0x00000003
                   1380: 
                   1381: VOID
1.1.1.3   root     1382: WINAPI
1.1.1.2   root     1383: SetLastErrorEx(
                   1384:     DWORD dwErrCode,
                   1385:     DWORD dwType
                   1386:     );
                   1387: 
1.1       root     1388: BOOL
1.1.1.2   root     1389: WINAPI
1.1       root     1390: GetOverlappedResult(
                   1391:     HANDLE hFile,
                   1392:     LPOVERLAPPED lpOverlapped,
                   1393:     LPDWORD lpNumberOfBytesTransferred,
                   1394:     BOOL bWait
                   1395:     );
                   1396: 
1.1.1.2   root     1397: #define SEM_FAILCRITICALERRORS  0x0001
                   1398: #define SEM_NOGPFAULTERRORBOX   0x0002
                   1399: #define SEM_NOOPENFILEERRORBOX  0x8000
                   1400: 
                   1401: VOID
                   1402: WINAPI
                   1403: SetDebugErrorLevel(
                   1404:     DWORD dwLevel
                   1405:     );
                   1406: 
                   1407: UINT
                   1408: WINAPI
1.1       root     1409: SetErrorMode(
1.1.1.2   root     1410:     UINT uMode
1.1       root     1411:     );
                   1412: 
                   1413: 
                   1414: BOOL
1.1.1.2   root     1415: WINAPI
1.1       root     1416: ReadProcessMemory(
                   1417:     HANDLE hProcess,
1.1.1.4 ! root     1418:     LPCVOID lpBaseAddress,
1.1       root     1419:     LPVOID lpBuffer,
                   1420:     DWORD nSize,
                   1421:     LPDWORD lpNumberOfBytesRead
                   1422:     );
                   1423: 
                   1424: BOOL
1.1.1.2   root     1425: WINAPI
1.1       root     1426: WriteProcessMemory(
                   1427:     HANDLE hProcess,
                   1428:     LPVOID lpBaseAddress,
                   1429:     LPVOID lpBuffer,
                   1430:     DWORD nSize,
                   1431:     LPDWORD lpNumberOfBytesWritten
                   1432:     );
                   1433: 
                   1434: BOOL
1.1.1.2   root     1435: WINAPI
1.1       root     1436: GetThreadContext(
                   1437:     HANDLE hThread,
                   1438:     LPCONTEXT lpContext
                   1439:     );
                   1440: 
                   1441: BOOL
1.1.1.2   root     1442: WINAPI
1.1       root     1443: SetThreadContext(
                   1444:     HANDLE hThread,
1.1.1.4 ! root     1445:     CONST CONTEXT *lpContext
1.1       root     1446:     );
                   1447: 
                   1448: DWORD
1.1.1.2   root     1449: WINAPI
1.1       root     1450: SuspendThread(
                   1451:     HANDLE hThread
                   1452:     );
                   1453: 
                   1454: DWORD
1.1.1.2   root     1455: WINAPI
1.1       root     1456: ResumeThread(
1.1.1.2   root     1457:     HANDLE hThread
1.1       root     1458:     );
                   1459: 
                   1460: VOID
1.1.1.2   root     1461: WINAPI
1.1       root     1462: DebugBreak(
                   1463:     VOID
                   1464:     );
                   1465: 
                   1466: BOOL
1.1.1.2   root     1467: WINAPI
1.1       root     1468: WaitForDebugEvent(
                   1469:     LPDEBUG_EVENT lpDebugEvent,
                   1470:     DWORD dwMilliseconds
                   1471:     );
                   1472: 
                   1473: BOOL
1.1.1.2   root     1474: WINAPI
1.1       root     1475: ContinueDebugEvent(
                   1476:     DWORD dwProcessId,
                   1477:     DWORD dwThreadId,
                   1478:     DWORD dwContinueStatus
                   1479:     );
                   1480: 
                   1481: BOOL
1.1.1.2   root     1482: WINAPI
1.1       root     1483: DebugActiveProcess(
                   1484:     DWORD dwProcessId
                   1485:     );
                   1486: 
                   1487: VOID
1.1.1.2   root     1488: WINAPI
1.1       root     1489: InitializeCriticalSection(
                   1490:     LPCRITICAL_SECTION lpCriticalSection
                   1491:     );
                   1492: 
                   1493: VOID
1.1.1.2   root     1494: WINAPI
1.1       root     1495: EnterCriticalSection(
                   1496:     LPCRITICAL_SECTION lpCriticalSection
                   1497:     );
                   1498: 
                   1499: VOID
1.1.1.2   root     1500: WINAPI
1.1       root     1501: LeaveCriticalSection(
                   1502:     LPCRITICAL_SECTION lpCriticalSection
                   1503:     );
                   1504: 
                   1505: VOID
1.1.1.2   root     1506: WINAPI
1.1       root     1507: DeleteCriticalSection(
                   1508:     LPCRITICAL_SECTION lpCriticalSection
                   1509:     );
                   1510: 
                   1511: BOOL
1.1.1.2   root     1512: WINAPI
1.1       root     1513: SetEvent(
                   1514:     HANDLE hEvent
                   1515:     );
                   1516: 
                   1517: BOOL
1.1.1.2   root     1518: WINAPI
1.1       root     1519: ResetEvent(
                   1520:     HANDLE hEvent
                   1521:     );
                   1522: 
                   1523: BOOL
1.1.1.2   root     1524: WINAPI
1.1       root     1525: PulseEvent(
                   1526:     HANDLE hEvent
                   1527:     );
                   1528: 
                   1529: BOOL
1.1.1.2   root     1530: WINAPI
1.1       root     1531: ReleaseSemaphore(
                   1532:     HANDLE hSemaphore,
                   1533:     LONG lReleaseCount,
                   1534:     LPLONG lpPreviousCount
                   1535:     );
                   1536: 
                   1537: BOOL
1.1.1.2   root     1538: WINAPI
1.1       root     1539: ReleaseMutex(
                   1540:     HANDLE hMutex
                   1541:     );
                   1542: 
                   1543: DWORD
1.1.1.2   root     1544: WINAPI
1.1       root     1545: WaitForSingleObject(
                   1546:     HANDLE hHandle,
                   1547:     DWORD dwMilliseconds
                   1548:     );
                   1549: 
                   1550: DWORD
1.1.1.2   root     1551: WINAPI
1.1       root     1552: WaitForMultipleObjects(
                   1553:     DWORD nCount,
1.1.1.4 ! root     1554:     CONST HANDLE *lpHandles,
1.1       root     1555:     BOOL bWaitAll,
                   1556:     DWORD dwMilliseconds
                   1557:     );
                   1558: 
                   1559: VOID
1.1.1.2   root     1560: WINAPI
1.1       root     1561: Sleep(
                   1562:     DWORD dwMilliseconds
                   1563:     );
                   1564: 
1.1.1.4 ! root     1565: HGLOBAL
1.1.1.2   root     1566: WINAPI
1.1       root     1567: LoadResource(
1.1.1.3   root     1568:     HINSTANCE hModule,
1.1.1.2   root     1569:     HRSRC hResInfo
1.1       root     1570:     );
                   1571: 
                   1572: DWORD
1.1.1.2   root     1573: WINAPI
1.1       root     1574: SizeofResource(
1.1.1.3   root     1575:     HINSTANCE hModule,
1.1.1.2   root     1576:     HRSRC hResInfo
1.1       root     1577:     );
                   1578: 
1.1.1.3   root     1579: 
1.1       root     1580: ATOM
1.1.1.2   root     1581: WINAPI
1.1       root     1582: GlobalDeleteAtom(
                   1583:     ATOM nAtom
                   1584:     );
                   1585: 
                   1586: BOOL
1.1.1.2   root     1587: WINAPI
1.1       root     1588: InitAtomTable(
                   1589:     DWORD nSize
                   1590:     );
                   1591: 
                   1592: ATOM
1.1.1.2   root     1593: WINAPI
1.1       root     1594: DeleteAtom(
                   1595:     ATOM nAtom
                   1596:     );
                   1597: 
1.1.1.2   root     1598: UINT
                   1599: WINAPI
1.1       root     1600: SetHandleCount(
1.1.1.2   root     1601:     UINT uNumber
1.1       root     1602:     );
                   1603: 
                   1604: DWORD
1.1.1.2   root     1605: WINAPI
1.1       root     1606: GetLogicalDrives(
                   1607:     VOID
                   1608:     );
                   1609: 
                   1610: BOOL
1.1.1.2   root     1611: WINAPI
1.1       root     1612: LockFile(
                   1613:     HANDLE hFile,
                   1614:     DWORD dwFileOffsetLow,
1.1.1.2   root     1615:     DWORD dwFileOffsetHigh,
                   1616:     DWORD nNumberOfBytesToLockLow,
                   1617:     DWORD nNumberOfBytesToLockHigh
1.1       root     1618:     );
                   1619: 
                   1620: BOOL
1.1.1.2   root     1621: WINAPI
1.1       root     1622: UnlockFile(
                   1623:     HANDLE hFile,
                   1624:     DWORD dwFileOffsetLow,
1.1.1.2   root     1625:     DWORD dwFileOffsetHigh,
                   1626:     DWORD nNumberOfBytesToUnlockLow,
                   1627:     DWORD nNumberOfBytesToUnlockHigh
                   1628:     );
                   1629: 
1.1.1.4 ! root     1630: BOOL
        !          1631: WINAPI
        !          1632: LockFileEx(
        !          1633:     HANDLE hFile,
        !          1634:     DWORD dwFlags,
        !          1635:     DWORD dwReserved,
        !          1636:     DWORD nNumberOfBytesToLockLow,
        !          1637:     DWORD nNumberOfBytesToLockHigh,
        !          1638:     LPOVERLAPPED lpOverlapped
        !          1639:     );
        !          1640: 
        !          1641: #define LOCKFILE_FAIL_IMMEDIATELY   0x00000001
        !          1642: #define LOCKFILE_EXCLUSIVE_LOCK     0x00000002
        !          1643: 
        !          1644: BOOL
        !          1645: WINAPI
        !          1646: UnlockFileEx(
        !          1647:     HANDLE hFile,
        !          1648:     DWORD dwReserved,
        !          1649:     DWORD nNumberOfBytesToUnlockLow,
        !          1650:     DWORD nNumberOfBytesToUnlockHigh,
        !          1651:     LPOVERLAPPED lpOverlapped
        !          1652:     );
        !          1653: 
1.1.1.2   root     1654: typedef struct _BY_HANDLE_FILE_INFORMATION {
                   1655:     DWORD dwFileAttributes;
                   1656:     FILETIME ftCreationTime;
                   1657:     FILETIME ftLastAccessTime;
                   1658:     FILETIME ftLastWriteTime;
                   1659:     DWORD dwVolumeSerialNumber;
                   1660:     DWORD nFileSizeHigh;
                   1661:     DWORD nFileSizeLow;
                   1662:     DWORD nNumberOfLinks;
                   1663:     DWORD nFileIndexHigh;
                   1664:     DWORD nFileIndexLow;
                   1665: } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
                   1666: 
                   1667: BOOL
                   1668: WINAPI
                   1669: GetFileInformationByHandle(
                   1670:     HANDLE hFile,
                   1671:     LPBY_HANDLE_FILE_INFORMATION lpFileInformation
1.1       root     1672:     );
                   1673: 
                   1674: DWORD
1.1.1.2   root     1675: WINAPI
1.1       root     1676: GetFileType(
                   1677:     HANDLE hFile
                   1678:     );
                   1679: 
                   1680: DWORD
1.1.1.2   root     1681: WINAPI
1.1       root     1682: GetFileSize(
                   1683:     HANDLE hFile,
                   1684:     LPDWORD lpFileSizeHigh
                   1685:     );
                   1686: 
                   1687: HANDLE
1.1.1.2   root     1688: WINAPI
1.1       root     1689: GetStdHandle(
                   1690:     DWORD nStdHandle
                   1691:     );
                   1692: 
                   1693: BOOL
1.1.1.2   root     1694: WINAPI
1.1       root     1695: SetStdHandle(
                   1696:     DWORD nStdHandle,
                   1697:     HANDLE hHandle
                   1698:     );
                   1699: 
                   1700: BOOL
1.1.1.2   root     1701: WINAPI
1.1       root     1702: WriteFile(
                   1703:     HANDLE hFile,
1.1.1.4 ! root     1704:     LPCVOID lpBuffer,
1.1       root     1705:     DWORD nNumberOfBytesToWrite,
                   1706:     LPDWORD lpNumberOfBytesWritten,
                   1707:     LPOVERLAPPED lpOverlapped
                   1708:     );
                   1709: 
                   1710: BOOL
1.1.1.2   root     1711: WINAPI
1.1       root     1712: ReadFile(
                   1713:     HANDLE hFile,
                   1714:     LPVOID lpBuffer,
                   1715:     DWORD nNumberOfBytesToRead,
                   1716:     LPDWORD lpNumberOfBytesRead,
                   1717:     LPOVERLAPPED lpOverlapped
                   1718:     );
                   1719: 
                   1720: BOOL
1.1.1.2   root     1721: WINAPI
1.1       root     1722: FlushFileBuffers(
                   1723:     HANDLE hFile
                   1724:     );
                   1725: 
                   1726: BOOL
1.1.1.2   root     1727: WINAPI
                   1728: DeviceIoControl(
                   1729:     HANDLE hDevice,
                   1730:     DWORD dwIoControlCode,
                   1731:     LPVOID lpInBuffer,
                   1732:     DWORD nInBufferSize,
                   1733:     LPVOID lpOutBuffer,
                   1734:     DWORD nOutBufferSize,
                   1735:     LPDWORD lpBytesReturned,
                   1736:     LPOVERLAPPED lpOverlapped
                   1737:     );
                   1738: 
                   1739: BOOL
                   1740: WINAPI
1.1       root     1741: SetEndOfFile(
                   1742:     HANDLE hFile
                   1743:     );
                   1744: 
                   1745: DWORD
1.1.1.2   root     1746: WINAPI
1.1       root     1747: SetFilePointer(
                   1748:     HANDLE hFile,
                   1749:     LONG lDistanceToMove,
                   1750:     PLONG lpDistanceToMoveHigh,
                   1751:     DWORD dwMoveMethod
                   1752:     );
                   1753: 
                   1754: BOOL
1.1.1.2   root     1755: WINAPI
1.1       root     1756: FindClose(
                   1757:     HANDLE hFindFile
                   1758:     );
                   1759: 
                   1760: BOOL
1.1.1.2   root     1761: WINAPI
1.1       root     1762: GetFileTime(
                   1763:     HANDLE hFile,
                   1764:     LPFILETIME lpCreationTime,
                   1765:     LPFILETIME lpLastAccessTime,
                   1766:     LPFILETIME lpLastWriteTime
                   1767:     );
                   1768: 
                   1769: BOOL
1.1.1.2   root     1770: WINAPI
1.1       root     1771: SetFileTime(
                   1772:     HANDLE hFile,
1.1.1.4 ! root     1773:     CONST FILETIME *lpCreationTime,
        !          1774:     CONST FILETIME *lpLastAccessTime,
        !          1775:     CONST FILETIME *lpLastWriteTime
1.1       root     1776:     );
                   1777: 
                   1778: BOOL
1.1.1.2   root     1779: WINAPI
1.1       root     1780: CloseHandle(
                   1781:     HANDLE hObject
                   1782:     );
                   1783: 
                   1784: BOOL
1.1.1.2   root     1785: WINAPI
1.1       root     1786: DuplicateHandle(
                   1787:     HANDLE hSourceProcessHandle,
                   1788:     HANDLE hSourceHandle,
                   1789:     HANDLE hTargetProcessHandle,
                   1790:     LPHANDLE lpTargetHandle,
                   1791:     DWORD dwDesiredAccess,
                   1792:     BOOL bInheritHandle,
                   1793:     DWORD dwOptions
                   1794:     );
                   1795: 
1.1.1.4 ! root     1796: #define HINSTANCE_ERROR 32
        !          1797: 
1.1       root     1798: DWORD
1.1.1.2   root     1799: WINAPI
1.1       root     1800: LoadModule(
1.1.1.2   root     1801:     LPCSTR lpModuleName,
1.1       root     1802:     LPVOID lpParameterBlock
                   1803:     );
                   1804: 
1.1.1.2   root     1805: UINT
                   1806: WINAPI
1.1       root     1807: WinExec(
1.1.1.2   root     1808:     LPCSTR lpCmdLine,
                   1809:     UINT uCmdShow
1.1       root     1810:     );
                   1811: 
                   1812: BOOL
1.1.1.2   root     1813: WINAPI
1.1       root     1814: BuildCommDCB(
                   1815:     LPSTR lpDef,
                   1816:     LPDCB lpDCB
                   1817:     );
                   1818: 
                   1819: BOOL
1.1.1.2   root     1820: WINAPI
1.1.1.4 ! root     1821: BuildCommDCBAndTimeouts(
        !          1822:     LPSTR lpDef,
        !          1823:     LPDCB lpDCB,
        !          1824:     LPCOMMTIMEOUTS lpCommTimeouts
        !          1825:     );
        !          1826: 
        !          1827: BOOL
        !          1828: WINAPI
1.1       root     1829: ClearCommBreak(
                   1830:     HANDLE hFile
                   1831:     );
                   1832: 
                   1833: BOOL
1.1.1.2   root     1834: WINAPI
1.1       root     1835: ClearCommError(
                   1836:     HANDLE hFile,
                   1837:     LPDWORD lpErrors,
                   1838:     LPCOMSTAT lpStat
                   1839:     );
                   1840: 
                   1841: BOOL
1.1.1.2   root     1842: WINAPI
1.1       root     1843: SetupComm(
                   1844:     HANDLE hFile,
                   1845:     DWORD dwInQueue,
                   1846:     DWORD dwOutQueue
                   1847:     );
                   1848: 
                   1849: BOOL
1.1.1.2   root     1850: WINAPI
1.1       root     1851: EscapeCommFunction(
                   1852:     HANDLE hFile,
                   1853:     DWORD dwFunc
                   1854:     );
                   1855: 
                   1856: BOOL
1.1.1.2   root     1857: WINAPI
                   1858: GetCommMask(
1.1       root     1859:     HANDLE hFile,
1.1.1.2   root     1860:     LPDWORD lpEvtMask
1.1       root     1861:     );
                   1862: 
                   1863: BOOL
1.1.1.2   root     1864: WINAPI
                   1865: GetCommProperties(
1.1       root     1866:     HANDLE hFile,
1.1.1.2   root     1867:     LPCOMMPROP lpCommProp
1.1       root     1868:     );
                   1869: 
                   1870: BOOL
1.1.1.2   root     1871: WINAPI
1.1       root     1872: GetCommModemStatus(
                   1873:     HANDLE hFile,
                   1874:     LPDWORD lpModemStat
                   1875:     );
                   1876: 
                   1877: BOOL
1.1.1.2   root     1878: WINAPI
1.1       root     1879: GetCommState(
                   1880:     HANDLE hFile,
                   1881:     LPDCB lpDCB
                   1882:     );
                   1883: 
                   1884: BOOL
1.1.1.2   root     1885: WINAPI
1.1       root     1886: GetCommTimeouts(
                   1887:     HANDLE hFile,
                   1888:     LPCOMMTIMEOUTS lpCommTimeouts
                   1889:     );
                   1890: 
                   1891: BOOL
1.1.1.2   root     1892: WINAPI
1.1       root     1893: PurgeComm(
                   1894:     HANDLE hFile,
                   1895:     DWORD dwFlags
                   1896:     );
                   1897: 
                   1898: BOOL
1.1.1.2   root     1899: WINAPI
1.1       root     1900: SetCommBreak(
                   1901:     HANDLE hFile
                   1902:     );
                   1903: 
                   1904: BOOL
1.1.1.2   root     1905: WINAPI
1.1       root     1906: SetCommMask(
                   1907:     HANDLE hFile,
                   1908:     DWORD dwEvtMask
                   1909:     );
                   1910: 
                   1911: BOOL
1.1.1.2   root     1912: WINAPI
1.1       root     1913: SetCommState(
                   1914:     HANDLE hFile,
                   1915:     LPDCB lpDCB
                   1916:     );
                   1917: 
                   1918: BOOL
1.1.1.2   root     1919: WINAPI
1.1       root     1920: SetCommTimeouts(
                   1921:     HANDLE hFile,
                   1922:     LPCOMMTIMEOUTS lpCommTimeouts
                   1923:     );
                   1924: 
                   1925: BOOL
1.1.1.2   root     1926: WINAPI
1.1       root     1927: TransmitCommChar(
                   1928:     HANDLE hFile,
                   1929:     char cChar
                   1930:     );
                   1931: 
                   1932: BOOL
1.1.1.2   root     1933: WINAPI
1.1       root     1934: WaitCommEvent(
                   1935:     HANDLE hFile,
                   1936:     LPDWORD lpEvtMask,
1.1.1.2   root     1937:     LPOVERLAPPED lpOverlapped
                   1938:     );
                   1939: 
                   1940: 
                   1941: DWORD
                   1942: WINAPI
                   1943: SetTapePosition(
                   1944:     HANDLE hDevice,
                   1945:     DWORD dwPositionMethod,
                   1946:     DWORD dwPartition,
1.1.1.3   root     1947:     DWORD dwOffsetLow,
1.1.1.4 ! root     1948:     DWORD dwOffsetHigh,
        !          1949:     BOOL bImmediate
1.1.1.2   root     1950:     );
                   1951: 
                   1952: DWORD
                   1953: WINAPI
                   1954: GetTapePosition(
                   1955:     HANDLE hDevice,
1.1.1.3   root     1956:     DWORD dwPositionType,
                   1957:     LPDWORD lpdwPartition,
                   1958:     LPDWORD lpdwOffsetLow,
                   1959:     LPDWORD lpdwOffsetHigh
1.1.1.2   root     1960:     );
                   1961: 
                   1962: DWORD
                   1963: WINAPI
                   1964: PrepareTape(
                   1965:     HANDLE hDevice,
1.1.1.4 ! root     1966:     DWORD dwOperation,
        !          1967:     BOOL bImmediate
1.1.1.2   root     1968:     );
                   1969: 
                   1970: DWORD
                   1971: WINAPI
                   1972: EraseTape(
                   1973:     HANDLE hDevice,
1.1.1.4 ! root     1974:     DWORD dwEraseType,
        !          1975:     BOOL bImmediate
1.1.1.2   root     1976:     );
                   1977: 
                   1978: DWORD
1.1.1.3   root     1979: WINAPI
1.1.1.2   root     1980: CreateTapePartition(
                   1981:     HANDLE hDevice,
1.1.1.3   root     1982:     DWORD dwPartitionMethod,
                   1983:     DWORD dwCount,
                   1984:     DWORD dwSize
1.1.1.2   root     1985:     );
                   1986: 
                   1987: DWORD
                   1988: WINAPI
                   1989: WriteTapemark(
                   1990:     HANDLE hDevice,
                   1991:     DWORD dwTapemarkType,
1.1.1.4 ! root     1992:     DWORD dwTapemarkCount,
        !          1993:     BOOL bImmediate
1.1.1.2   root     1994:     );
                   1995: 
                   1996: DWORD
                   1997: WINAPI
                   1998: GetTapeStatus(
1.1.1.3   root     1999:     HANDLE hDevice
1.1.1.2   root     2000:     );
                   2001: 
                   2002: DWORD
                   2003: WINAPI
                   2004: GetTapeParameters(
                   2005:     HANDLE hDevice,
                   2006:     DWORD dwOperation,
1.1.1.3   root     2007:     LPDWORD lpdwSize,
                   2008:     LPVOID lpTapeInformation
1.1.1.2   root     2009:     );
                   2010: 
                   2011: #define GET_TAPE_MEDIA_INFORMATION 0
                   2012: #define GET_TAPE_DRIVE_INFORMATION 1
                   2013: 
                   2014: DWORD
                   2015: WINAPI
                   2016: SetTapeParameters(
                   2017:     HANDLE hDevice,
                   2018:     DWORD dwOperation,
1.1.1.3   root     2019:     LPVOID lpTapeInformation
1.1       root     2020:     );
                   2021: 
1.1.1.2   root     2022: #define SET_TAPE_MEDIA_INFORMATION 0
                   2023: #define SET_TAPE_DRIVE_INFORMATION 1
                   2024: 
1.1       root     2025: BOOL
1.1.1.2   root     2026: WINAPI
1.1       root     2027: Beep(
                   2028:     DWORD dwFreq,
                   2029:     DWORD dwDuration
                   2030:     );
                   2031: 
                   2032: VOID
1.1.1.2   root     2033: WINAPI
1.1       root     2034: OpenSound(
                   2035:     VOID
                   2036:     );
                   2037: 
                   2038: VOID
1.1.1.2   root     2039: WINAPI
1.1       root     2040: CloseSound(
                   2041:     VOID
                   2042:     );
                   2043: 
                   2044: VOID
1.1.1.2   root     2045: WINAPI
1.1       root     2046: StartSound(
                   2047:     VOID
                   2048:     );
                   2049: 
                   2050: VOID
1.1.1.2   root     2051: WINAPI
1.1       root     2052: StopSound(
                   2053:     VOID
                   2054:     );
                   2055: 
                   2056: DWORD
1.1.1.2   root     2057: WINAPI
1.1       root     2058: WaitSoundState(
                   2059:     DWORD nState
                   2060:     );
                   2061: 
                   2062: DWORD
1.1.1.2   root     2063: WINAPI
1.1       root     2064: SyncAllVoices(
                   2065:     VOID
                   2066:     );
                   2067: 
                   2068: DWORD
1.1.1.2   root     2069: WINAPI
1.1       root     2070: CountVoiceNotes(
                   2071:     DWORD nVoice
                   2072:     );
                   2073: 
                   2074: LPDWORD
1.1.1.2   root     2075: WINAPI
1.1       root     2076: GetThresholdEvent(
                   2077:     VOID
                   2078:     );
                   2079: 
                   2080: DWORD
1.1.1.2   root     2081: WINAPI
1.1       root     2082: GetThresholdStatus(
                   2083:     VOID
                   2084:     );
                   2085: 
                   2086: DWORD
1.1.1.2   root     2087: WINAPI
1.1       root     2088: SetSoundNoise(
                   2089:     DWORD nSource,
                   2090:     DWORD nDuration
                   2091:     );
                   2092: 
                   2093: DWORD
1.1.1.2   root     2094: WINAPI
1.1       root     2095: SetVoiceAccent(
                   2096:     DWORD nVoice,
                   2097:     DWORD nTempo,
                   2098:     DWORD nVolume,
                   2099:     DWORD nMode,
                   2100:     DWORD nPitch
                   2101:     );
                   2102: 
                   2103: DWORD
1.1.1.2   root     2104: WINAPI
1.1       root     2105: SetVoiceEnvelope(
                   2106:     DWORD nVoice,
                   2107:     DWORD nShape,
                   2108:     DWORD nRepeat
                   2109:     );
                   2110: 
                   2111: DWORD
1.1.1.2   root     2112: WINAPI
1.1       root     2113: SetVoiceNote(
                   2114:     DWORD nVoice,
                   2115:     DWORD nValue,
                   2116:     DWORD nLength,
                   2117:     DWORD nCdots
                   2118:     );
                   2119: 
                   2120: DWORD
1.1.1.2   root     2121: WINAPI
1.1       root     2122: SetVoiceQueueSize(
                   2123:     DWORD nVoice,
                   2124:     DWORD nBytes
                   2125:     );
                   2126: 
                   2127: DWORD
1.1.1.2   root     2128: WINAPI
1.1       root     2129: SetVoiceSound(
                   2130:     DWORD nVoice,
1.1.1.2   root     2131:     DWORD Frequency,
1.1       root     2132:     DWORD nDuration
                   2133:     );
                   2134: 
                   2135: DWORD
1.1.1.2   root     2136: WINAPI
1.1       root     2137: SetVoiceThreshold(
                   2138:     DWORD nVoice,
                   2139:     DWORD nNotes
                   2140:     );
                   2141: 
                   2142: int
1.1.1.2   root     2143: WINAPI
1.1       root     2144: MulDiv(
                   2145:     int nNumber,
                   2146:     int nNumerator,
                   2147:     int nDenominator
                   2148:     );
                   2149: 
                   2150: VOID
1.1.1.2   root     2151: WINAPI
1.1       root     2152: GetSystemTime(
                   2153:     LPSYSTEMTIME lpSystemTime
                   2154:     );
                   2155: 
                   2156: BOOL
1.1.1.2   root     2157: WINAPI
1.1       root     2158: SetSystemTime(
1.1.1.4 ! root     2159:     CONST SYSTEMTIME *lpSystemTime
1.1       root     2160:     );
                   2161: 
                   2162: VOID
1.1.1.2   root     2163: WINAPI
1.1.1.3   root     2164: GetLocalTime(
                   2165:     LPSYSTEMTIME lpSystemTime
                   2166:     );
                   2167: 
                   2168: BOOL
                   2169: WINAPI
                   2170: SetLocalTime(
1.1.1.4 ! root     2171:     CONST SYSTEMTIME *lpSystemTime
1.1.1.3   root     2172:     );
                   2173: 
                   2174: VOID
                   2175: WINAPI
1.1       root     2176: GetSystemInfo(
                   2177:     LPSYSTEM_INFO lpSystemInfo
                   2178:     );
                   2179: 
1.1.1.3   root     2180: typedef struct _TIME_ZONE_INFORMATION {
                   2181:     LONG Bias;
                   2182:     WCHAR StandardName[ 32 ];
                   2183:     SYSTEMTIME StandardDate;
                   2184:     LONG StandardBias;
                   2185:     WCHAR DaylightName[ 32 ];
                   2186:     SYSTEMTIME DaylightDate;
                   2187:     LONG DaylightBias;
                   2188: } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
                   2189: 
                   2190: 
                   2191: DWORD
                   2192: WINAPI
                   2193: GetTimeZoneInformation(
                   2194:     LPTIME_ZONE_INFORMATION lpTimeZoneInformation
                   2195:     );
                   2196: 
                   2197: BOOL
                   2198: WINAPI
                   2199: SetTimeZoneInformation(
1.1.1.4 ! root     2200:     CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation
1.1.1.3   root     2201:     );
1.1       root     2202: 
                   2203: //
                   2204: // Routines to convert back and forth between system time and file time
                   2205: //
                   2206: 
                   2207: BOOL
1.1.1.2   root     2208: WINAPI
1.1       root     2209: SystemTimeToFileTime(
1.1.1.4 ! root     2210:     CONST SYSTEMTIME *lpSystemTime,
1.1       root     2211:     LPFILETIME lpFileTime
                   2212:     );
                   2213: 
                   2214: BOOL
1.1.1.2   root     2215: WINAPI
1.1.1.3   root     2216: FileTimeToLocalFileTime(
1.1.1.4 ! root     2217:     CONST FILETIME *lpFileTime,
1.1.1.3   root     2218:     LPFILETIME lpLocalFileTime
                   2219:     );
                   2220: 
                   2221: BOOL
                   2222: WINAPI
                   2223: LocalFileTimeToFileTime(
1.1.1.4 ! root     2224:     CONST FILETIME *lpLocalFileTime,
1.1.1.3   root     2225:     LPFILETIME lpFileTime
                   2226:     );
                   2227: 
                   2228: BOOL
                   2229: WINAPI
1.1       root     2230: FileTimeToSystemTime(
1.1.1.4 ! root     2231:     CONST FILETIME *lpFileTime,
1.1       root     2232:     LPSYSTEMTIME lpSystemTime
                   2233:     );
                   2234: 
                   2235: LONG
1.1.1.2   root     2236: WINAPI
1.1       root     2237: CompareFileTime(
1.1.1.4 ! root     2238:     CONST FILETIME *lpFileTime1,
        !          2239:     CONST FILETIME *lpFileTime2
1.1       root     2240:     );
                   2241: 
                   2242: BOOL
1.1.1.2   root     2243: WINAPI
1.1       root     2244: FileTimeToDosDateTime(
1.1.1.4 ! root     2245:     CONST FILETIME *lpFileTime,
1.1       root     2246:     LPWORD lpFatDate,
                   2247:     LPWORD lpFatTime
                   2248:     );
                   2249: 
                   2250: BOOL
1.1.1.2   root     2251: WINAPI
1.1       root     2252: DosDateTimeToFileTime(
                   2253:     WORD wFatDate,
                   2254:     WORD wFatTime,
                   2255:     LPFILETIME lpFileTime
                   2256:     );
                   2257: 
                   2258: DWORD
1.1.1.2   root     2259: WINAPI
1.1       root     2260: GetTickCount(
                   2261:     VOID
                   2262:     );
                   2263: 
                   2264: DWORD
1.1.1.2   root     2265: WINAPI
1.1.1.3   root     2266: FormatMessageA(
1.1       root     2267:     DWORD dwFlags,
1.1.1.4 ! root     2268:     LPCVOID lpSource,
1.1       root     2269:     DWORD dwMessageId,
                   2270:     DWORD dwLanguageId,
                   2271:     LPSTR lpBuffer,
                   2272:     DWORD nSize,
1.1.1.4 ! root     2273:     va_list *Arguments
1.1       root     2274:     );
1.1.1.3   root     2275: DWORD
                   2276: WINAPI
                   2277: FormatMessageW(
                   2278:     DWORD dwFlags,
1.1.1.4 ! root     2279:     LPCVOID lpSource,
1.1.1.3   root     2280:     DWORD dwMessageId,
                   2281:     DWORD dwLanguageId,
                   2282:     LPWSTR lpBuffer,
                   2283:     DWORD nSize,
1.1.1.4 ! root     2284:     va_list *Arguments
1.1.1.3   root     2285:     );
                   2286: #ifdef UNICODE
1.1.1.4 ! root     2287: #define FormatMessage  FormatMessageW
1.1.1.3   root     2288: #else
1.1.1.4 ! root     2289: #define FormatMessage  FormatMessageA
1.1.1.3   root     2290: #endif // !UNICODE
1.1       root     2291: 
                   2292: #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
                   2293: #define FORMAT_MESSAGE_IGNORE_INSERTS  0x00000200
                   2294: #define FORMAT_MESSAGE_FROM_STRING     0x00000400
                   2295: #define FORMAT_MESSAGE_FROM_HMODULE    0x00000800
                   2296: #define FORMAT_MESSAGE_FROM_SYSTEM     0x00001000
1.1.1.4 ! root     2297: #define FORMAT_MESSAGE_ARGUMENT_ARRAY  0x00002000
1.1       root     2298: #define FORMAT_MESSAGE_MAX_WIDTH_MASK  0x000000FF
                   2299: 
                   2300: 
                   2301: BOOL
1.1.1.2   root     2302: WINAPI
1.1       root     2303: CreatePipe(
                   2304:     PHANDLE hReadPipe,
                   2305:     PHANDLE hWritePipe,
                   2306:     LPSECURITY_ATTRIBUTES lpPipeAttributes,
                   2307:     DWORD nSize
                   2308:     );
                   2309: 
                   2310: BOOL
1.1.1.2   root     2311: WINAPI
1.1       root     2312: ConnectNamedPipe(
                   2313:     HANDLE hNamedPipe,
                   2314:     LPOVERLAPPED lpOverlapped
                   2315:     );
                   2316: 
                   2317: BOOL
1.1.1.2   root     2318: WINAPI
1.1       root     2319: DisconnectNamedPipe(
                   2320:     HANDLE hNamedPipe
                   2321:     );
                   2322: 
                   2323: BOOL
1.1.1.2   root     2324: WINAPI
1.1       root     2325: SetNamedPipeHandleState(
                   2326:     HANDLE hNamedPipe,
                   2327:     LPDWORD lpMode,
                   2328:     LPDWORD lpMaxCollectionCount,
                   2329:     LPDWORD lpCollectDataTimeout
                   2330:     );
                   2331: 
                   2332: BOOL
1.1.1.2   root     2333: WINAPI
1.1       root     2334: GetNamedPipeInfo(
                   2335:     HANDLE hNamedPipe,
                   2336:     LPDWORD lpFlags,
                   2337:     LPDWORD lpOutBufferSize,
                   2338:     LPDWORD lpInBufferSize,
                   2339:     LPDWORD lpMaxInstances
                   2340:     );
                   2341: 
                   2342: BOOL
1.1.1.2   root     2343: WINAPI
1.1       root     2344: PeekNamedPipe(
                   2345:     HANDLE hNamedPipe,
                   2346:     LPVOID lpBuffer,
                   2347:     DWORD nBufferSize,
                   2348:     LPDWORD lpBytesRead,
                   2349:     LPDWORD lpTotalBytesAvail,
                   2350:     LPDWORD lpBytesLeftThisMessage
                   2351:     );
                   2352: 
                   2353: BOOL
1.1.1.2   root     2354: WINAPI
1.1       root     2355: TransactNamedPipe(
                   2356:     HANDLE hNamedPipe,
                   2357:     LPVOID lpInBuffer,
                   2358:     DWORD nInBufferSize,
                   2359:     LPVOID lpOutBuffer,
                   2360:     DWORD nOutBufferSize,
                   2361:     LPDWORD lpBytesRead,
                   2362:     LPOVERLAPPED lpOverlapped
                   2363:     );
                   2364: 
                   2365: HANDLE
1.1.1.2   root     2366: WINAPI
1.1       root     2367: CreateMailslotA(
1.1.1.4 ! root     2368:     LPCSTR lpName,
1.1.1.2   root     2369:     DWORD nMaxMessageSize,
                   2370:     DWORD lReadTimeout,
                   2371:     LPSECURITY_ATTRIBUTES lpSecurityAttributes
1.1       root     2372:     );
                   2373: HANDLE
1.1.1.2   root     2374: WINAPI
1.1       root     2375: CreateMailslotW(
1.1.1.4 ! root     2376:     LPCWSTR lpName,
1.1.1.2   root     2377:     DWORD nMaxMessageSize,
                   2378:     DWORD lReadTimeout,
                   2379:     LPSECURITY_ATTRIBUTES lpSecurityAttributes
1.1       root     2380:     );
                   2381: #ifdef UNICODE
1.1.1.4 ! root     2382: #define CreateMailslot  CreateMailslotW
1.1       root     2383: #else
1.1.1.4 ! root     2384: #define CreateMailslot  CreateMailslotA
1.1       root     2385: #endif // !UNICODE
                   2386: 
                   2387: BOOL
1.1.1.2   root     2388: WINAPI
1.1       root     2389: GetMailslotInfo(
1.1.1.2   root     2390:     HANDLE hMailslot,
                   2391:     LPDWORD lpMaxMessageSize,
                   2392:     LPDWORD lpNextSize,
                   2393:     LPDWORD lpMessageCount,
                   2394:     LPDWORD lpReadTimeout
1.1       root     2395:     );
                   2396: 
                   2397: BOOL
1.1.1.2   root     2398: WINAPI
1.1       root     2399: SetMailslotInfo(
1.1.1.2   root     2400:     HANDLE hMailslot,
                   2401:     DWORD lReadTimeout
1.1       root     2402:     );
                   2403: 
                   2404: LPVOID
1.1.1.2   root     2405: WINAPI
1.1       root     2406: MapViewOfFile(
                   2407:     HANDLE hFileMappingObject,
                   2408:     DWORD dwDesiredAccess,
                   2409:     DWORD dwFileOffsetHigh,
                   2410:     DWORD dwFileOffsetLow,
                   2411:     DWORD dwNumberOfBytesToMap
                   2412:     );
                   2413: 
                   2414: BOOL
1.1.1.2   root     2415: WINAPI
1.1       root     2416: FlushViewOfFile(
1.1.1.4 ! root     2417:     LPCVOID lpBaseAddress,
1.1       root     2418:     DWORD dwNumberOfBytesToFlush
                   2419:     );
                   2420: 
                   2421: BOOL
1.1.1.2   root     2422: WINAPI
1.1       root     2423: UnmapViewOfFile(
                   2424:     LPVOID lpBaseAddress
                   2425:     );
                   2426: 
                   2427: //
                   2428: // _l Compat Functions
                   2429: //
                   2430: 
                   2431: int
1.1.1.2   root     2432: WINAPI
                   2433: lstrcmpA(
                   2434:     LPCSTR lpString1,
                   2435:     LPCSTR lpString2
1.1       root     2436:     );
1.1.1.2   root     2437: int
                   2438: WINAPI
                   2439: lstrcmpW(
                   2440:     LPCWSTR lpString1,
                   2441:     LPCWSTR lpString2
                   2442:     );
                   2443: #ifdef UNICODE
1.1.1.4 ! root     2444: #define lstrcmp  lstrcmpW
1.1.1.2   root     2445: #else
1.1.1.4 ! root     2446: #define lstrcmp  lstrcmpA
1.1.1.2   root     2447: #endif // !UNICODE
1.1       root     2448: 
                   2449: int
1.1.1.2   root     2450: WINAPI
                   2451: lstrcmpiA(
                   2452:     LPCSTR lpString1,
                   2453:     LPCSTR lpString2
                   2454:     );
                   2455: int
                   2456: WINAPI
                   2457: lstrcmpiW(
                   2458:     LPCWSTR lpString1,
                   2459:     LPCWSTR lpString2
1.1       root     2460:     );
1.1.1.2   root     2461: #ifdef UNICODE
1.1.1.4 ! root     2462: #define lstrcmpi  lstrcmpiW
1.1.1.2   root     2463: #else
1.1.1.4 ! root     2464: #define lstrcmpi  lstrcmpiA
1.1.1.2   root     2465: #endif // !UNICODE
1.1       root     2466: 
                   2467: LPSTR
1.1.1.2   root     2468: WINAPI
                   2469: lstrcpyA(
1.1       root     2470:     LPSTR lpString1,
1.1.1.2   root     2471:     LPCSTR lpString2
                   2472:     );
                   2473: LPWSTR
                   2474: WINAPI
                   2475: lstrcpyW(
                   2476:     LPWSTR lpString1,
                   2477:     LPCWSTR lpString2
1.1       root     2478:     );
1.1.1.2   root     2479: #ifdef UNICODE
1.1.1.4 ! root     2480: #define lstrcpy  lstrcpyW
1.1.1.2   root     2481: #else
1.1.1.4 ! root     2482: #define lstrcpy  lstrcpyA
1.1.1.2   root     2483: #endif // !UNICODE
1.1       root     2484: 
                   2485: LPSTR
1.1.1.2   root     2486: WINAPI
                   2487: lstrcatA(
1.1       root     2488:     LPSTR lpString1,
1.1.1.2   root     2489:     LPCSTR lpString2
1.1       root     2490:     );
1.1.1.2   root     2491: LPWSTR
                   2492: WINAPI
                   2493: lstrcatW(
                   2494:     LPWSTR lpString1,
                   2495:     LPCWSTR lpString2
                   2496:     );
                   2497: #ifdef UNICODE
1.1.1.4 ! root     2498: #define lstrcat  lstrcatW
1.1.1.2   root     2499: #else
1.1.1.4 ! root     2500: #define lstrcat  lstrcatA
1.1.1.2   root     2501: #endif // !UNICODE
1.1       root     2502: 
                   2503: int
1.1.1.2   root     2504: WINAPI
                   2505: lstrlenA(
                   2506:     LPCSTR lpString
1.1       root     2507:     );
                   2508: int
1.1.1.2   root     2509: WINAPI
                   2510: lstrlenW(
                   2511:     LPCWSTR lpString
1.1       root     2512:     );
1.1.1.2   root     2513: #ifdef UNICODE
1.1.1.4 ! root     2514: #define lstrlen  lstrlenW
1.1.1.2   root     2515: #else
1.1.1.4 ! root     2516: #define lstrlen  lstrlenA
1.1.1.2   root     2517: #endif // !UNICODE
1.1       root     2518: 
1.1.1.2   root     2519: HFILE
                   2520: WINAPI
                   2521: OpenFile(
                   2522:     LPCSTR lpFileName,
1.1       root     2523:     LPOFSTRUCT lpReOpenBuff,
1.1.1.2   root     2524:     UINT uStyle
1.1       root     2525:     );
                   2526: 
1.1.1.2   root     2527: HFILE
                   2528: WINAPI
1.1       root     2529: _lopen(
1.1.1.2   root     2530:     LPCSTR lpPathName,
1.1       root     2531:     int iReadWrite
                   2532:     );
                   2533: 
1.1.1.2   root     2534: HFILE
                   2535: WINAPI
1.1       root     2536: _lcreat(
1.1.1.2   root     2537:     LPCSTR lpPathName,
                   2538:     int  iAttribute
1.1       root     2539:     );
                   2540: 
1.1.1.2   root     2541: UINT
                   2542: WINAPI
1.1       root     2543: _lread(
1.1.1.2   root     2544:     HFILE hFile,
                   2545:     LPVOID lpBuffer,
                   2546:     UINT uBytes
1.1       root     2547:     );
                   2548: 
1.1.1.2   root     2549: UINT
                   2550: WINAPI
1.1       root     2551: _lwrite(
1.1.1.2   root     2552:     HFILE hFile,
                   2553:     LPCSTR lpBuffer,
                   2554:     UINT uBytes
1.1       root     2555:     );
                   2556: 
1.1.1.4 ! root     2557: long
        !          2558: WINAPI
        !          2559: _hread(
        !          2560:     HFILE hFile,
        !          2561:     LPVOID lpBuffer,
        !          2562:     long lBytes
        !          2563:     );
        !          2564: 
        !          2565: long
        !          2566: WINAPI
        !          2567: _hwrite(
        !          2568:     HFILE hFile,
        !          2569:     LPCSTR lpBuffer,
        !          2570:     long lBytes
        !          2571:     );
        !          2572: 
1.1.1.2   root     2573: HFILE
                   2574: WINAPI
1.1       root     2575: _lclose(
1.1.1.2   root     2576:     HFILE hFile
1.1       root     2577:     );
                   2578: 
1.1.1.2   root     2579: LONG
                   2580: WINAPI
1.1       root     2581: _llseek(
1.1.1.2   root     2582:     HFILE hFile,
                   2583:     LONG lOffset,
1.1       root     2584:     int iOrigin
                   2585:     );
                   2586: 
                   2587: DWORD
1.1.1.2   root     2588: WINAPI
1.1       root     2589: TlsAlloc(
                   2590:     VOID
                   2591:     );
                   2592: 
1.1.1.4 ! root     2593: #define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
        !          2594: 
1.1       root     2595: LPVOID
1.1.1.2   root     2596: WINAPI
1.1       root     2597: TlsGetValue(
                   2598:     DWORD dwTlsIndex
                   2599:     );
                   2600: 
                   2601: BOOL
1.1.1.2   root     2602: WINAPI
1.1       root     2603: TlsSetValue(
                   2604:     DWORD dwTlsIndex,
                   2605:     LPVOID lpTlsValue
                   2606:     );
                   2607: 
                   2608: BOOL
1.1.1.2   root     2609: WINAPI
1.1       root     2610: TlsFree(
                   2611:     DWORD dwTlsIndex
                   2612:     );
                   2613: 
1.1.1.2   root     2614: typedef
                   2615: VOID
1.1.1.3   root     2616: (WINAPI *LPOVERLAPPED_COMPLETION_ROUTINE)(
1.1.1.2   root     2617:     DWORD dwErrorCode,
                   2618:     DWORD dwNumberOfBytesTransfered,
                   2619:     LPOVERLAPPED lpOverlapped
                   2620:     );
                   2621: 
                   2622: DWORD
                   2623: WINAPI
                   2624: SleepEx(
                   2625:     DWORD dwMilliseconds,
                   2626:     BOOL bAlertable
                   2627:     );
                   2628: 
                   2629: DWORD
                   2630: WINAPI
                   2631: WaitForSingleObjectEx(
                   2632:     HANDLE hHandle,
                   2633:     DWORD dwMilliseconds,
                   2634:     BOOL bAlertable
                   2635:     );
                   2636: 
                   2637: DWORD
                   2638: WINAPI
                   2639: WaitForMultipleObjectsEx(
                   2640:     DWORD nCount,
1.1.1.4 ! root     2641:     CONST HANDLE *lpHandles,
1.1.1.2   root     2642:     BOOL bWaitAll,
                   2643:     DWORD dwMilliseconds,
                   2644:     BOOL bAlertable
                   2645:     );
                   2646: 
                   2647: BOOL
                   2648: WINAPI
                   2649: ReadFileEx(
                   2650:     HANDLE hFile,
                   2651:     LPVOID lpBuffer,
                   2652:     DWORD nNumberOfBytesToRead,
                   2653:     LPOVERLAPPED lpOverlapped,
                   2654:     LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
                   2655:     );
                   2656: 
                   2657: BOOL
                   2658: WINAPI
                   2659: WriteFileEx(
                   2660:     HANDLE hFile,
1.1.1.4 ! root     2661:     LPCVOID lpBuffer,
1.1.1.2   root     2662:     DWORD nNumberOfBytesToWrite,
                   2663:     LPOVERLAPPED lpOverlapped,
                   2664:     LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
                   2665:     );
                   2666: 
                   2667: BOOL
                   2668: WINAPI
                   2669: BackupRead(
                   2670:     HANDLE hFile,
                   2671:     LPBYTE lpBuffer,
                   2672:     DWORD nNumberOfBytesToRead,
                   2673:     LPDWORD lpNumberOfBytesRead,
1.1.1.3   root     2674:     BOOL bAbort,
                   2675:     BOOL bProcessSecurity,
1.1.1.2   root     2676:     LPVOID *lpContext
                   2677:     );
                   2678: 
                   2679: BOOL
                   2680: WINAPI
1.1.1.4 ! root     2681: BackupSeek(
        !          2682:     HANDLE hFile,
        !          2683:     DWORD  dwLowBytesToSeek,
        !          2684:     DWORD  dwHighBytesToSeek,
        !          2685:     LPDWORD lpdwLowByteSeeked,
        !          2686:     LPDWORD lpdwHighByteSeeked,
        !          2687:     LPVOID *lpContext
        !          2688:     );
        !          2689: 
        !          2690: BOOL
        !          2691: WINAPI
1.1.1.2   root     2692: BackupWrite(
                   2693:     HANDLE hFile,
                   2694:     LPBYTE lpBuffer,
                   2695:     DWORD nNumberOfBytesToWrite,
                   2696:     LPDWORD lpNumberOfBytesWritten,
1.1.1.3   root     2697:     BOOL bAbort,
                   2698:     BOOL bProcessSecurity,
1.1.1.2   root     2699:     LPVOID *lpContext
                   2700:     );
                   2701: 
                   2702: //
1.1.1.4 ! root     2703: //  Stream id structure
        !          2704: //
        !          2705: typedef struct _WIN32_STREAM_ID {
        !          2706:         DWORD          dwStreamId ;
        !          2707:         DWORD          dwStreamAttributes ;
        !          2708:         LARGE_INTEGER  Size ;
        !          2709:         DWORD          dwStreamNameSize ;
        !          2710:         WCHAR          cStreamName[ ANYSIZE_ARRAY ] ;
        !          2711: } WIN32_STREAM_ID, *LPWIN32_STREAM_ID ;
        !          2712: 
        !          2713: //
        !          2714: //  Stream Ids
        !          2715: //
        !          2716: 
        !          2717: #define BACKUP_DATA             0x00000001
        !          2718: #define BACKUP_EA_DATA          0x00000002
        !          2719: #define BACKUP_SECURITY_DATA    0x00000003
        !          2720: #define BACKUP_ALTERNATE_DATA   0x00000004
        !          2721: #define BACKUP_LINK             0x00000005
        !          2722: 
        !          2723: //
        !          2724: //  Stream Attributes
        !          2725: //
        !          2726: 
        !          2727: #define STREAM_MODIFIED_WHEN_READ  0x0001
        !          2728: #define STREAM_CONTAINS_SECURITY   0x0002
        !          2729: 
        !          2730: //
1.1       root     2731: // Dual Mode API below this line. Dual Mode Structures also included.
                   2732: //
                   2733: 
1.1.1.2   root     2734: #define STARTF_USESHOWWINDOW    0x00000001
                   2735: #define STARTF_USESIZE          0x00000002
                   2736: #define STARTF_USEPOSITION      0x00000004
                   2737: #define STARTF_USECOUNTCHARS    0x00000008
                   2738: #define STARTF_USEFILLATTRIBUTE 0x00000010
                   2739: #define STARTF_RUNFULLSCREEN    0x00000020  // ignored for non-x86 platforms
                   2740: #define STARTF_FORCEONFEEDBACK  0x00000040
                   2741: #define STARTF_FORCEOFFFEEDBACK 0x00000080
1.1.1.4 ! root     2742: #define STARTF_USESTDHANDLES    0x00000100
1.1       root     2743: 
                   2744: typedef struct _STARTUPINFOA {
                   2745:     DWORD   cb;
                   2746:     LPSTR   lpReserved;
                   2747:     LPSTR   lpDesktop;
                   2748:     LPSTR   lpTitle;
                   2749:     DWORD   dwX;
                   2750:     DWORD   dwY;
                   2751:     DWORD   dwXSize;
                   2752:     DWORD   dwYSize;
                   2753:     DWORD   dwXCountChars;
                   2754:     DWORD   dwYCountChars;
                   2755:     DWORD   dwFillAttribute;
                   2756:     DWORD   dwFlags;
                   2757:     WORD    wShowWindow;
                   2758:     WORD    cbReserved2;
                   2759:     LPBYTE  lpReserved2;
1.1.1.4 ! root     2760:     HANDLE  hStdInput;
        !          2761:     HANDLE  hStdOutput;
        !          2762:     HANDLE  hStdError;
1.1       root     2763: } STARTUPINFOA, *LPSTARTUPINFOA;
                   2764: typedef struct _STARTUPINFOW {
                   2765:     DWORD   cb;
                   2766:     LPWSTR  lpReserved;
                   2767:     LPWSTR  lpDesktop;
                   2768:     LPWSTR  lpTitle;
                   2769:     DWORD   dwX;
                   2770:     DWORD   dwY;
                   2771:     DWORD   dwXSize;
                   2772:     DWORD   dwYSize;
                   2773:     DWORD   dwXCountChars;
                   2774:     DWORD   dwYCountChars;
                   2775:     DWORD   dwFillAttribute;
                   2776:     DWORD   dwFlags;
                   2777:     WORD    wShowWindow;
                   2778:     WORD    cbReserved2;
                   2779:     LPBYTE  lpReserved2;
1.1.1.4 ! root     2780:     HANDLE  hStdInput;
        !          2781:     HANDLE  hStdOutput;
        !          2782:     HANDLE  hStdError;
1.1       root     2783: } STARTUPINFOW, *LPSTARTUPINFOW;
                   2784: #ifdef UNICODE
1.1.1.4 ! root     2785: typedef STARTUPINFOW STARTUPINFO;
        !          2786: typedef LPSTARTUPINFOW LPSTARTUPINFO;
1.1       root     2787: #else
1.1.1.4 ! root     2788: typedef STARTUPINFOA STARTUPINFO;
        !          2789: typedef LPSTARTUPINFOA LPSTARTUPINFO;
1.1       root     2790: #endif // UNICODE
                   2791: 
1.1.1.3   root     2792: #define SHUTDOWN_NORETRY                0x00000001
                   2793: 
1.1       root     2794: typedef struct _WIN32_FIND_DATAA {
                   2795:     DWORD dwFileAttributes;
                   2796:     FILETIME ftCreationTime;
                   2797:     FILETIME ftLastAccessTime;
                   2798:     FILETIME ftLastWriteTime;
                   2799:     DWORD nFileSizeHigh;
                   2800:     DWORD nFileSizeLow;
1.1.1.2   root     2801:     DWORD dwReserved0;
                   2802:     DWORD dwReserved1;
1.1       root     2803:     CHAR   cFileName[ MAX_PATH ];
1.1.1.2   root     2804:     CHAR   cAlternateFileName[ 14 ];
1.1       root     2805: } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
                   2806: typedef struct _WIN32_FIND_DATAW {
                   2807:     DWORD dwFileAttributes;
                   2808:     FILETIME ftCreationTime;
                   2809:     FILETIME ftLastAccessTime;
                   2810:     FILETIME ftLastWriteTime;
                   2811:     DWORD nFileSizeHigh;
                   2812:     DWORD nFileSizeLow;
1.1.1.2   root     2813:     DWORD dwReserved0;
                   2814:     DWORD dwReserved1;
1.1       root     2815:     WCHAR  cFileName[ MAX_PATH ];
1.1.1.2   root     2816:     WCHAR  cAlternateFileName[ 14 ];
1.1       root     2817: } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
                   2818: #ifdef UNICODE
1.1.1.4 ! root     2819: typedef WIN32_FIND_DATAW WIN32_FIND_DATA;
        !          2820: typedef PWIN32_FIND_DATAW PWIN32_FIND_DATA;
        !          2821: typedef LPWIN32_FIND_DATAW LPWIN32_FIND_DATA;
        !          2822: #else
        !          2823: typedef WIN32_FIND_DATAA WIN32_FIND_DATA;
        !          2824: typedef PWIN32_FIND_DATAA PWIN32_FIND_DATA;
        !          2825: typedef LPWIN32_FIND_DATAA LPWIN32_FIND_DATA;
1.1       root     2826: #endif // UNICODE
                   2827: 
                   2828: HANDLE
1.1.1.2   root     2829: WINAPI
1.1       root     2830: CreateMutexA(
                   2831:     LPSECURITY_ATTRIBUTES lpMutexAttributes,
                   2832:     BOOL bInitialOwner,
1.1.1.4 ! root     2833:     LPCSTR lpName
1.1       root     2834:     );
                   2835: HANDLE
1.1.1.2   root     2836: WINAPI
1.1       root     2837: CreateMutexW(
                   2838:     LPSECURITY_ATTRIBUTES lpMutexAttributes,
                   2839:     BOOL bInitialOwner,
1.1.1.4 ! root     2840:     LPCWSTR lpName
1.1       root     2841:     );
                   2842: #ifdef UNICODE
1.1.1.4 ! root     2843: #define CreateMutex  CreateMutexW
1.1       root     2844: #else
1.1.1.4 ! root     2845: #define CreateMutex  CreateMutexA
1.1       root     2846: #endif // !UNICODE
                   2847: 
                   2848: HANDLE
1.1.1.2   root     2849: WINAPI
1.1       root     2850: OpenMutexA(
                   2851:     DWORD dwDesiredAccess,
                   2852:     BOOL bInheritHandle,
1.1.1.4 ! root     2853:     LPCSTR lpName
1.1       root     2854:     );
                   2855: HANDLE
1.1.1.2   root     2856: WINAPI
1.1       root     2857: OpenMutexW(
                   2858:     DWORD dwDesiredAccess,
                   2859:     BOOL bInheritHandle,
1.1.1.4 ! root     2860:     LPCWSTR lpName
1.1       root     2861:     );
                   2862: #ifdef UNICODE
1.1.1.4 ! root     2863: #define OpenMutex  OpenMutexW
1.1       root     2864: #else
1.1.1.4 ! root     2865: #define OpenMutex  OpenMutexA
1.1       root     2866: #endif // !UNICODE
                   2867: 
                   2868: HANDLE
1.1.1.2   root     2869: WINAPI
1.1       root     2870: CreateEventA(
                   2871:     LPSECURITY_ATTRIBUTES lpEventAttributes,
                   2872:     BOOL bManualReset,
                   2873:     BOOL bInitialState,
1.1.1.4 ! root     2874:     LPCSTR lpName
1.1       root     2875:     );
                   2876: HANDLE
1.1.1.2   root     2877: WINAPI
1.1       root     2878: CreateEventW(
                   2879:     LPSECURITY_ATTRIBUTES lpEventAttributes,
                   2880:     BOOL bManualReset,
                   2881:     BOOL bInitialState,
1.1.1.4 ! root     2882:     LPCWSTR lpName
1.1       root     2883:     );
                   2884: #ifdef UNICODE
1.1.1.4 ! root     2885: #define CreateEvent  CreateEventW
1.1       root     2886: #else
1.1.1.4 ! root     2887: #define CreateEvent  CreateEventA
1.1       root     2888: #endif // !UNICODE
                   2889: 
                   2890: HANDLE
1.1.1.2   root     2891: WINAPI
1.1       root     2892: OpenEventA(
                   2893:     DWORD dwDesiredAccess,
                   2894:     BOOL bInheritHandle,
1.1.1.4 ! root     2895:     LPCSTR lpName
1.1       root     2896:     );
                   2897: HANDLE
1.1.1.2   root     2898: WINAPI
1.1       root     2899: OpenEventW(
                   2900:     DWORD dwDesiredAccess,
                   2901:     BOOL bInheritHandle,
1.1.1.4 ! root     2902:     LPCWSTR lpName
1.1       root     2903:     );
                   2904: #ifdef UNICODE
1.1.1.4 ! root     2905: #define OpenEvent  OpenEventW
1.1       root     2906: #else
1.1.1.4 ! root     2907: #define OpenEvent  OpenEventA
1.1       root     2908: #endif // !UNICODE
                   2909: 
                   2910: HANDLE
1.1.1.2   root     2911: WINAPI
1.1       root     2912: CreateSemaphoreA(
                   2913:     LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
                   2914:     LONG lInitialCount,
                   2915:     LONG lMaximumCount,
1.1.1.4 ! root     2916:     LPCSTR lpName
1.1       root     2917:     );
                   2918: HANDLE
1.1.1.2   root     2919: WINAPI
1.1       root     2920: CreateSemaphoreW(
                   2921:     LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
                   2922:     LONG lInitialCount,
                   2923:     LONG lMaximumCount,
1.1.1.4 ! root     2924:     LPCWSTR lpName
1.1       root     2925:     );
                   2926: #ifdef UNICODE
1.1.1.4 ! root     2927: #define CreateSemaphore  CreateSemaphoreW
1.1       root     2928: #else
1.1.1.4 ! root     2929: #define CreateSemaphore  CreateSemaphoreA
1.1       root     2930: #endif // !UNICODE
                   2931: 
                   2932: HANDLE
1.1.1.2   root     2933: WINAPI
1.1       root     2934: OpenSemaphoreA(
                   2935:     DWORD dwDesiredAccess,
                   2936:     BOOL bInheritHandle,
1.1.1.4 ! root     2937:     LPCSTR lpName
1.1       root     2938:     );
                   2939: HANDLE
1.1.1.2   root     2940: WINAPI
1.1       root     2941: OpenSemaphoreW(
                   2942:     DWORD dwDesiredAccess,
                   2943:     BOOL bInheritHandle,
1.1.1.4 ! root     2944:     LPCWSTR lpName
1.1       root     2945:     );
                   2946: #ifdef UNICODE
1.1.1.4 ! root     2947: #define OpenSemaphore  OpenSemaphoreW
1.1       root     2948: #else
1.1.1.4 ! root     2949: #define OpenSemaphore  OpenSemaphoreA
1.1       root     2950: #endif // !UNICODE
                   2951: 
                   2952: HANDLE
1.1.1.2   root     2953: WINAPI
1.1       root     2954: CreateFileMappingA(
                   2955:     HANDLE hFile,
                   2956:     LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
                   2957:     DWORD flProtect,
                   2958:     DWORD dwMaximumSizeHigh,
                   2959:     DWORD dwMaximumSizeLow,
1.1.1.4 ! root     2960:     LPCSTR lpName
1.1       root     2961:     );
                   2962: HANDLE
1.1.1.2   root     2963: WINAPI
1.1       root     2964: CreateFileMappingW(
                   2965:     HANDLE hFile,
                   2966:     LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
                   2967:     DWORD flProtect,
                   2968:     DWORD dwMaximumSizeHigh,
                   2969:     DWORD dwMaximumSizeLow,
1.1.1.4 ! root     2970:     LPCWSTR lpName
1.1       root     2971:     );
                   2972: #ifdef UNICODE
1.1.1.4 ! root     2973: #define CreateFileMapping  CreateFileMappingW
1.1       root     2974: #else
1.1.1.4 ! root     2975: #define CreateFileMapping  CreateFileMappingA
1.1       root     2976: #endif // !UNICODE
                   2977: 
                   2978: HANDLE
1.1.1.2   root     2979: WINAPI
1.1       root     2980: OpenFileMappingA(
                   2981:     DWORD dwDesiredAccess,
                   2982:     BOOL bInheritHandle,
1.1.1.4 ! root     2983:     LPCSTR lpName
1.1       root     2984:     );
                   2985: HANDLE
1.1.1.2   root     2986: WINAPI
1.1       root     2987: OpenFileMappingW(
                   2988:     DWORD dwDesiredAccess,
                   2989:     BOOL bInheritHandle,
1.1.1.4 ! root     2990:     LPCWSTR lpName
1.1       root     2991:     );
                   2992: #ifdef UNICODE
1.1.1.4 ! root     2993: #define OpenFileMapping  OpenFileMappingW
1.1       root     2994: #else
1.1.1.4 ! root     2995: #define OpenFileMapping  OpenFileMappingA
1.1       root     2996: #endif // !UNICODE
                   2997: 
                   2998: DWORD
1.1.1.2   root     2999: WINAPI
1.1       root     3000: GetLogicalDriveStringsA(
                   3001:     DWORD nBufferLength,
                   3002:     LPSTR lpBuffer
                   3003:     );
                   3004: DWORD
1.1.1.2   root     3005: WINAPI
1.1       root     3006: GetLogicalDriveStringsW(
                   3007:     DWORD nBufferLength,
                   3008:     LPWSTR lpBuffer
                   3009:     );
                   3010: #ifdef UNICODE
1.1.1.4 ! root     3011: #define GetLogicalDriveStrings  GetLogicalDriveStringsW
1.1       root     3012: #else
1.1.1.4 ! root     3013: #define GetLogicalDriveStrings  GetLogicalDriveStringsA
1.1       root     3014: #endif // !UNICODE
                   3015: 
1.1.1.3   root     3016: HINSTANCE
1.1.1.2   root     3017: WINAPI
1.1       root     3018: LoadLibraryA(
1.1.1.2   root     3019:     LPCSTR lpLibFileName
1.1       root     3020:     );
1.1.1.3   root     3021: HINSTANCE
1.1.1.2   root     3022: WINAPI
1.1       root     3023: LoadLibraryW(
1.1.1.2   root     3024:     LPCWSTR lpLibFileName
1.1       root     3025:     );
                   3026: #ifdef UNICODE
1.1.1.4 ! root     3027: #define LoadLibrary  LoadLibraryW
1.1       root     3028: #else
1.1.1.4 ! root     3029: #define LoadLibrary  LoadLibraryA
1.1       root     3030: #endif // !UNICODE
                   3031: 
1.1.1.3   root     3032: HINSTANCE
                   3033: WINAPI
                   3034: LoadLibraryExA(
                   3035:     LPCSTR lpLibFileName,
                   3036:     HANDLE hFile,
                   3037:     DWORD dwFlags
                   3038:     );
                   3039: HINSTANCE
                   3040: WINAPI
                   3041: LoadLibraryExW(
                   3042:     LPCWSTR lpLibFileName,
                   3043:     HANDLE hFile,
                   3044:     DWORD dwFlags
                   3045:     );
                   3046: #ifdef UNICODE
1.1.1.4 ! root     3047: #define LoadLibraryEx  LoadLibraryExW
1.1.1.3   root     3048: #else
1.1.1.4 ! root     3049: #define LoadLibraryEx  LoadLibraryExA
1.1.1.3   root     3050: #endif // !UNICODE
                   3051: 
                   3052: #define DONT_RESOLVE_DLL_REFERENCES 0x00000001
                   3053: 
                   3054: 
1.1       root     3055: DWORD
1.1.1.2   root     3056: WINAPI
1.1       root     3057: GetModuleFileNameA(
1.1.1.3   root     3058:     HINSTANCE hModule,
1.1       root     3059:     LPSTR lpFilename,
                   3060:     DWORD nSize
                   3061:     );
                   3062: DWORD
1.1.1.2   root     3063: WINAPI
1.1       root     3064: GetModuleFileNameW(
1.1.1.3   root     3065:     HINSTANCE hModule,
1.1       root     3066:     LPWSTR lpFilename,
                   3067:     DWORD nSize
                   3068:     );
                   3069: #ifdef UNICODE
1.1.1.4 ! root     3070: #define GetModuleFileName  GetModuleFileNameW
1.1       root     3071: #else
1.1.1.4 ! root     3072: #define GetModuleFileName  GetModuleFileNameA
1.1       root     3073: #endif // !UNICODE
                   3074: 
1.1.1.3   root     3075: HMODULE
1.1.1.2   root     3076: WINAPI
1.1       root     3077: GetModuleHandleA(
1.1.1.2   root     3078:     LPCSTR lpModuleName
1.1       root     3079:     );
1.1.1.3   root     3080: HMODULE
1.1.1.2   root     3081: WINAPI
1.1       root     3082: GetModuleHandleW(
1.1.1.2   root     3083:     LPCWSTR lpModuleName
1.1       root     3084:     );
                   3085: #ifdef UNICODE
1.1.1.4 ! root     3086: #define GetModuleHandle  GetModuleHandleW
1.1       root     3087: #else
1.1.1.4 ! root     3088: #define GetModuleHandle  GetModuleHandleA
1.1       root     3089: #endif // !UNICODE
                   3090: 
                   3091: BOOL
1.1.1.2   root     3092: WINAPI
1.1       root     3093: CreateProcessA(
1.1.1.2   root     3094:     LPCSTR lpApplicationName,
                   3095:     LPCSTR lpCommandLine,
1.1       root     3096:     LPSECURITY_ATTRIBUTES lpProcessAttributes,
                   3097:     LPSECURITY_ATTRIBUTES lpThreadAttributes,
                   3098:     BOOL bInheritHandles,
                   3099:     DWORD dwCreationFlags,
                   3100:     LPVOID lpEnvironment,
1.1.1.4 ! root     3101:     LPCSTR lpCurrentDirectory,
1.1       root     3102:     LPSTARTUPINFOA lpStartupInfo,
                   3103:     LPPROCESS_INFORMATION lpProcessInformation
                   3104:     );
                   3105: BOOL
1.1.1.2   root     3106: WINAPI
1.1       root     3107: CreateProcessW(
1.1.1.2   root     3108:     LPCWSTR lpApplicationName,
                   3109:     LPCWSTR lpCommandLine,
1.1       root     3110:     LPSECURITY_ATTRIBUTES lpProcessAttributes,
                   3111:     LPSECURITY_ATTRIBUTES lpThreadAttributes,
                   3112:     BOOL bInheritHandles,
                   3113:     DWORD dwCreationFlags,
                   3114:     LPVOID lpEnvironment,
1.1.1.4 ! root     3115:     LPCWSTR lpCurrentDirectory,
1.1       root     3116:     LPSTARTUPINFOW lpStartupInfo,
                   3117:     LPPROCESS_INFORMATION lpProcessInformation
                   3118:     );
                   3119: #ifdef UNICODE
1.1.1.4 ! root     3120: #define CreateProcess  CreateProcessW
1.1       root     3121: #else
1.1.1.4 ! root     3122: #define CreateProcess  CreateProcessA
1.1       root     3123: #endif // !UNICODE
                   3124: 
1.1.1.3   root     3125: BOOL
                   3126: WINAPI
                   3127: SetProcessShutdownParameters(
                   3128:     DWORD dwLevel,
                   3129:     DWORD dwFlags
                   3130:     );
                   3131: 
                   3132: BOOL
                   3133: WINAPI
                   3134: GetProcessShutdownParameters(
                   3135:     LPDWORD lpdwLevel,
                   3136:     LPDWORD lpdwFlags
                   3137:     );
                   3138: 
1.1       root     3139: VOID
1.1.1.2   root     3140: WINAPI
1.1       root     3141: FatalAppExitA(
1.1.1.2   root     3142:     UINT uAction,
                   3143:     LPCSTR lpMessageText
1.1       root     3144:     );
                   3145: VOID
1.1.1.2   root     3146: WINAPI
1.1       root     3147: FatalAppExitW(
1.1.1.2   root     3148:     UINT uAction,
                   3149:     LPCWSTR lpMessageText
1.1       root     3150:     );
                   3151: #ifdef UNICODE
1.1.1.4 ! root     3152: #define FatalAppExit  FatalAppExitW
1.1       root     3153: #else
1.1.1.4 ! root     3154: #define FatalAppExit  FatalAppExitA
1.1       root     3155: #endif // !UNICODE
                   3156: 
                   3157: VOID
1.1.1.2   root     3158: WINAPI
1.1       root     3159: GetStartupInfoA(
                   3160:     LPSTARTUPINFOA lpStartupInfo
                   3161:     );
                   3162: VOID
1.1.1.2   root     3163: WINAPI
1.1       root     3164: GetStartupInfoW(
                   3165:     LPSTARTUPINFOW lpStartupInfo
                   3166:     );
                   3167: #ifdef UNICODE
1.1.1.4 ! root     3168: #define GetStartupInfo  GetStartupInfoW
1.1       root     3169: #else
1.1.1.4 ! root     3170: #define GetStartupInfo  GetStartupInfoA
1.1       root     3171: #endif // !UNICODE
                   3172: 
                   3173: LPSTR
1.1.1.2   root     3174: WINAPI
1.1       root     3175: GetCommandLineA(
                   3176:     VOID
                   3177:     );
                   3178: LPWSTR
1.1.1.2   root     3179: WINAPI
1.1       root     3180: GetCommandLineW(
                   3181:     VOID
                   3182:     );
                   3183: #ifdef UNICODE
1.1.1.4 ! root     3184: #define GetCommandLine  GetCommandLineW
1.1       root     3185: #else
1.1.1.4 ! root     3186: #define GetCommandLine  GetCommandLineA
1.1       root     3187: #endif // !UNICODE
                   3188: 
                   3189: DWORD
1.1.1.2   root     3190: WINAPI
1.1       root     3191: GetEnvironmentVariableA(
1.1.1.4 ! root     3192:     LPCSTR lpName,
1.1       root     3193:     LPSTR lpBuffer,
                   3194:     DWORD nSize
                   3195:     );
                   3196: DWORD
1.1.1.2   root     3197: WINAPI
1.1       root     3198: GetEnvironmentVariableW(
1.1.1.4 ! root     3199:     LPCWSTR lpName,
1.1       root     3200:     LPWSTR lpBuffer,
                   3201:     DWORD nSize
                   3202:     );
                   3203: #ifdef UNICODE
1.1.1.4 ! root     3204: #define GetEnvironmentVariable  GetEnvironmentVariableW
1.1       root     3205: #else
1.1.1.4 ! root     3206: #define GetEnvironmentVariable  GetEnvironmentVariableA
1.1       root     3207: #endif // !UNICODE
                   3208: 
                   3209: BOOL
1.1.1.2   root     3210: WINAPI
1.1       root     3211: SetEnvironmentVariableA(
1.1.1.4 ! root     3212:     LPCSTR lpName,
        !          3213:     LPCSTR lpValue
1.1       root     3214:     );
                   3215: BOOL
1.1.1.2   root     3216: WINAPI
1.1       root     3217: SetEnvironmentVariableW(
1.1.1.4 ! root     3218:     LPCWSTR lpName,
        !          3219:     LPCWSTR lpValue
1.1       root     3220:     );
                   3221: #ifdef UNICODE
1.1.1.4 ! root     3222: #define SetEnvironmentVariable  SetEnvironmentVariableW
1.1       root     3223: #else
1.1.1.4 ! root     3224: #define SetEnvironmentVariable  SetEnvironmentVariableA
1.1       root     3225: #endif // !UNICODE
                   3226: 
1.1.1.2   root     3227: DWORD
                   3228: WINAPI
                   3229: ExpandEnvironmentStringsA(
                   3230:     LPCSTR lpSrc,
                   3231:     LPSTR lpDst,
                   3232:     DWORD nSize
                   3233:     );
                   3234: DWORD
                   3235: WINAPI
                   3236: ExpandEnvironmentStringsW(
                   3237:     LPCWSTR lpSrc,
                   3238:     LPWSTR lpDst,
                   3239:     DWORD nSize
                   3240:     );
                   3241: #ifdef UNICODE
1.1.1.4 ! root     3242: #define ExpandEnvironmentStrings  ExpandEnvironmentStringsW
1.1.1.2   root     3243: #else
1.1.1.4 ! root     3244: #define ExpandEnvironmentStrings  ExpandEnvironmentStringsA
1.1.1.2   root     3245: #endif // !UNICODE
                   3246: 
1.1       root     3247: VOID
1.1.1.2   root     3248: WINAPI
1.1       root     3249: OutputDebugStringA(
1.1.1.2   root     3250:     LPCSTR lpOutputString
1.1       root     3251:     );
                   3252: VOID
1.1.1.2   root     3253: WINAPI
1.1       root     3254: OutputDebugStringW(
1.1.1.2   root     3255:     LPCWSTR lpOutputString
1.1       root     3256:     );
                   3257: #ifdef UNICODE
1.1.1.4 ! root     3258: #define OutputDebugString  OutputDebugStringW
1.1       root     3259: #else
1.1.1.4 ! root     3260: #define OutputDebugString  OutputDebugStringA
1.1       root     3261: #endif // !UNICODE
                   3262: 
1.1.1.2   root     3263: HRSRC
                   3264: WINAPI
1.1       root     3265: FindResourceA(
1.1.1.3   root     3266:     HINSTANCE hModule,
1.1.1.2   root     3267:     LPCSTR lpName,
                   3268:     LPCSTR lpType
1.1       root     3269:     );
1.1.1.2   root     3270: HRSRC
                   3271: WINAPI
1.1       root     3272: FindResourceW(
1.1.1.3   root     3273:     HINSTANCE hModule,
1.1.1.2   root     3274:     LPCWSTR lpName,
                   3275:     LPCWSTR lpType
1.1       root     3276:     );
                   3277: #ifdef UNICODE
1.1.1.4 ! root     3278: #define FindResource  FindResourceW
1.1       root     3279: #else
1.1.1.4 ! root     3280: #define FindResource  FindResourceA
1.1       root     3281: #endif // !UNICODE
                   3282: 
1.1.1.2   root     3283: HRSRC
                   3284: WINAPI
                   3285: FindResourceExA(
1.1.1.3   root     3286:     HINSTANCE hModule,
1.1.1.2   root     3287:     LPCSTR lpType,
                   3288:     LPCSTR lpName,
                   3289:     WORD    wLanguage
                   3290:     );
                   3291: HRSRC
                   3292: WINAPI
                   3293: FindResourceExW(
1.1.1.3   root     3294:     HINSTANCE hModule,
1.1.1.2   root     3295:     LPCWSTR lpType,
                   3296:     LPCWSTR lpName,
                   3297:     WORD    wLanguage
                   3298:     );
                   3299: #ifdef UNICODE
1.1.1.4 ! root     3300: #define FindResourceEx  FindResourceExW
1.1.1.2   root     3301: #else
1.1.1.4 ! root     3302: #define FindResourceEx  FindResourceExA
1.1.1.2   root     3303: #endif // !UNICODE
                   3304: 
                   3305: #ifdef STRICT
1.1.1.3   root     3306: typedef BOOL (CALLBACK* ENUMRESTYPEPROC)(HINSTANCE hModule, LPTSTR lpType,
1.1.1.2   root     3307:         LONG lParam);
1.1.1.3   root     3308: typedef BOOL (CALLBACK* ENUMRESNAMEPROC)(HINSTANCE hModule, LPCTSTR lpType,
1.1.1.2   root     3309:         LPTSTR lpName, LONG lParam);
1.1.1.3   root     3310: typedef BOOL (CALLBACK* ENUMRESLANGPROC)(HINSTANCE hModule, LPCTSTR lpType,
1.1.1.2   root     3311:         LPCTSTR lpName, WORD  wLanguage, LONG lParam);
                   3312: #else
                   3313: typedef FARPROC ENUMRESTYPEPROC;
                   3314: typedef FARPROC ENUMRESNAMEPROC;
                   3315: typedef FARPROC ENUMRESLANGPROC;
                   3316: #endif
                   3317: 
1.1       root     3318: BOOL
1.1.1.2   root     3319: WINAPI
1.1       root     3320: EnumResourceTypesA(
1.1.1.3   root     3321:     HINSTANCE hModule,
1.1.1.2   root     3322:     ENUMRESTYPEPROC lpEnumFunc,
1.1       root     3323:     LONG lParam
                   3324:     );
                   3325: BOOL
1.1.1.2   root     3326: WINAPI
1.1       root     3327: EnumResourceTypesW(
1.1.1.3   root     3328:     HINSTANCE hModule,
1.1.1.2   root     3329:     ENUMRESTYPEPROC lpEnumFunc,
1.1       root     3330:     LONG lParam
                   3331:     );
                   3332: #ifdef UNICODE
1.1.1.4 ! root     3333: #define EnumResourceTypes  EnumResourceTypesW
1.1       root     3334: #else
1.1.1.4 ! root     3335: #define EnumResourceTypes  EnumResourceTypesA
1.1       root     3336: #endif // !UNICODE
                   3337: 
                   3338: 
                   3339: BOOL
1.1.1.2   root     3340: WINAPI
1.1       root     3341: EnumResourceNamesA(
1.1.1.3   root     3342:     HINSTANCE hModule,
1.1.1.2   root     3343:     LPCSTR lpType,
                   3344:     ENUMRESNAMEPROC lpEnumFunc,
1.1       root     3345:     LONG lParam
                   3346:     );
                   3347: BOOL
1.1.1.2   root     3348: WINAPI
1.1       root     3349: EnumResourceNamesW(
1.1.1.3   root     3350:     HINSTANCE hModule,
1.1.1.2   root     3351:     LPCWSTR lpType,
                   3352:     ENUMRESNAMEPROC lpEnumFunc,
1.1       root     3353:     LONG lParam
                   3354:     );
                   3355: #ifdef UNICODE
1.1.1.4 ! root     3356: #define EnumResourceNames  EnumResourceNamesW
1.1       root     3357: #else
1.1.1.4 ! root     3358: #define EnumResourceNames  EnumResourceNamesA
1.1       root     3359: #endif // !UNICODE
                   3360: 
1.1.1.2   root     3361: BOOL
                   3362: WINAPI
                   3363: EnumResourceLanguagesA(
1.1.1.3   root     3364:     HINSTANCE hModule,
1.1.1.2   root     3365:     LPCSTR lpType,
                   3366:     LPCSTR lpName,
                   3367:     ENUMRESLANGPROC lpEnumFunc,
                   3368:     LONG lParam
                   3369:     );
                   3370: BOOL
                   3371: WINAPI
                   3372: EnumResourceLanguagesW(
1.1.1.3   root     3373:     HINSTANCE hModule,
1.1.1.2   root     3374:     LPCWSTR lpType,
                   3375:     LPCWSTR lpName,
                   3376:     ENUMRESLANGPROC lpEnumFunc,
                   3377:     LONG lParam
                   3378:     );
                   3379: #ifdef UNICODE
1.1.1.4 ! root     3380: #define EnumResourceLanguages  EnumResourceLanguagesW
1.1.1.2   root     3381: #else
1.1.1.4 ! root     3382: #define EnumResourceLanguages  EnumResourceLanguagesA
1.1.1.2   root     3383: #endif // !UNICODE
                   3384: 
                   3385: HANDLE
                   3386: WINAPI
                   3387: BeginUpdateResourceA(
1.1.1.4 ! root     3388:     LPCSTR pFileName,
1.1.1.3   root     3389:     BOOL bDeleteExistingResources
1.1.1.2   root     3390:     );
                   3391: HANDLE
                   3392: WINAPI
                   3393: BeginUpdateResourceW(
1.1.1.4 ! root     3394:     LPCWSTR pFileName,
1.1.1.3   root     3395:     BOOL bDeleteExistingResources
1.1.1.2   root     3396:     );
                   3397: #ifdef UNICODE
1.1.1.4 ! root     3398: #define BeginUpdateResource  BeginUpdateResourceW
1.1.1.2   root     3399: #else
1.1.1.4 ! root     3400: #define BeginUpdateResource  BeginUpdateResourceA
1.1.1.2   root     3401: #endif // !UNICODE
                   3402: 
                   3403: BOOL
                   3404: WINAPI
                   3405: UpdateResourceA(
                   3406:     HANDLE      hUpdate,
1.1.1.4 ! root     3407:     LPCSTR     lpType,
        !          3408:     LPCSTR     lpName,
1.1.1.2   root     3409:     WORD        wLanguage,
                   3410:     LPVOID      lpData,
                   3411:     DWORD       cbData
                   3412:     );
                   3413: BOOL
                   3414: WINAPI
                   3415: UpdateResourceW(
                   3416:     HANDLE      hUpdate,
1.1.1.4 ! root     3417:     LPCWSTR     lpType,
        !          3418:     LPCWSTR     lpName,
1.1.1.2   root     3419:     WORD        wLanguage,
                   3420:     LPVOID      lpData,
                   3421:     DWORD       cbData
                   3422:     );
                   3423: #ifdef UNICODE
1.1.1.4 ! root     3424: #define UpdateResource  UpdateResourceW
1.1.1.2   root     3425: #else
1.1.1.4 ! root     3426: #define UpdateResource  UpdateResourceA
1.1.1.2   root     3427: #endif // !UNICODE
                   3428: 
                   3429: BOOL
                   3430: WINAPI
                   3431: EndUpdateResourceA(
                   3432:     HANDLE      hUpdate,
                   3433:     BOOL        fDiscard
                   3434:     );
                   3435: BOOL
                   3436: WINAPI
                   3437: EndUpdateResourceW(
                   3438:     HANDLE      hUpdate,
                   3439:     BOOL        fDiscard
                   3440:     );
                   3441: #ifdef UNICODE
1.1.1.4 ! root     3442: #define EndUpdateResource  EndUpdateResourceW
1.1.1.2   root     3443: #else
1.1.1.4 ! root     3444: #define EndUpdateResource  EndUpdateResourceA
1.1.1.2   root     3445: #endif // !UNICODE
                   3446: 
1.1       root     3447: ATOM
1.1.1.2   root     3448: WINAPI
1.1       root     3449: GlobalAddAtomA(
1.1.1.2   root     3450:     LPCSTR lpString
1.1       root     3451:     );
                   3452: ATOM
1.1.1.2   root     3453: WINAPI
1.1       root     3454: GlobalAddAtomW(
1.1.1.2   root     3455:     LPCWSTR lpString
1.1       root     3456:     );
                   3457: #ifdef UNICODE
1.1.1.4 ! root     3458: #define GlobalAddAtom  GlobalAddAtomW
1.1       root     3459: #else
1.1.1.4 ! root     3460: #define GlobalAddAtom  GlobalAddAtomA
1.1       root     3461: #endif // !UNICODE
                   3462: 
                   3463: ATOM
1.1.1.2   root     3464: WINAPI
1.1       root     3465: GlobalFindAtomA(
1.1.1.2   root     3466:     LPCSTR lpString
1.1       root     3467:     );
                   3468: ATOM
1.1.1.2   root     3469: WINAPI
1.1       root     3470: GlobalFindAtomW(
1.1.1.2   root     3471:     LPCWSTR lpString
1.1       root     3472:     );
                   3473: #ifdef UNICODE
1.1.1.4 ! root     3474: #define GlobalFindAtom  GlobalFindAtomW
1.1       root     3475: #else
1.1.1.4 ! root     3476: #define GlobalFindAtom  GlobalFindAtomA
1.1       root     3477: #endif // !UNICODE
                   3478: 
1.1.1.2   root     3479: UINT
                   3480: WINAPI
1.1       root     3481: GlobalGetAtomNameA(
                   3482:     ATOM nAtom,
                   3483:     LPSTR lpBuffer,
1.1.1.2   root     3484:     int nSize
1.1       root     3485:     );
1.1.1.2   root     3486: UINT
                   3487: WINAPI
1.1       root     3488: GlobalGetAtomNameW(
                   3489:     ATOM nAtom,
                   3490:     LPWSTR lpBuffer,
1.1.1.2   root     3491:     int nSize
1.1       root     3492:     );
                   3493: #ifdef UNICODE
1.1.1.4 ! root     3494: #define GlobalGetAtomName  GlobalGetAtomNameW
1.1       root     3495: #else
1.1.1.4 ! root     3496: #define GlobalGetAtomName  GlobalGetAtomNameA
1.1       root     3497: #endif // !UNICODE
                   3498: 
                   3499: ATOM
1.1.1.2   root     3500: WINAPI
1.1       root     3501: AddAtomA(
1.1.1.2   root     3502:     LPCSTR lpString
1.1       root     3503:     );
                   3504: ATOM
1.1.1.2   root     3505: WINAPI
1.1       root     3506: AddAtomW(
1.1.1.2   root     3507:     LPCWSTR lpString
1.1       root     3508:     );
                   3509: #ifdef UNICODE
1.1.1.4 ! root     3510: #define AddAtom  AddAtomW
1.1       root     3511: #else
1.1.1.4 ! root     3512: #define AddAtom  AddAtomA
1.1       root     3513: #endif // !UNICODE
                   3514: 
                   3515: ATOM
1.1.1.2   root     3516: WINAPI
1.1       root     3517: FindAtomA(
1.1.1.2   root     3518:     LPCSTR lpString
1.1       root     3519:     );
                   3520: ATOM
1.1.1.2   root     3521: WINAPI
1.1       root     3522: FindAtomW(
1.1.1.2   root     3523:     LPCWSTR lpString
1.1       root     3524:     );
                   3525: #ifdef UNICODE
1.1.1.4 ! root     3526: #define FindAtom  FindAtomW
1.1       root     3527: #else
1.1.1.4 ! root     3528: #define FindAtom  FindAtomA
1.1       root     3529: #endif // !UNICODE
                   3530: 
1.1.1.2   root     3531: UINT
                   3532: WINAPI
1.1       root     3533: GetAtomNameA(
                   3534:     ATOM nAtom,
                   3535:     LPSTR lpBuffer,
1.1.1.2   root     3536:     int nSize
1.1       root     3537:     );
1.1.1.2   root     3538: UINT
                   3539: WINAPI
1.1       root     3540: GetAtomNameW(
                   3541:     ATOM nAtom,
                   3542:     LPWSTR lpBuffer,
1.1.1.2   root     3543:     int nSize
1.1       root     3544:     );
                   3545: #ifdef UNICODE
1.1.1.4 ! root     3546: #define GetAtomName  GetAtomNameW
1.1       root     3547: #else
1.1.1.4 ! root     3548: #define GetAtomName  GetAtomNameA
1.1       root     3549: #endif // !UNICODE
                   3550: 
1.1.1.2   root     3551: UINT
                   3552: WINAPI
1.1       root     3553: GetProfileIntA(
1.1.1.2   root     3554:     LPCSTR lpAppName,
                   3555:     LPCSTR lpKeyName,
1.1.1.4 ! root     3556:     INT    nDefault
1.1       root     3557:     );
1.1.1.2   root     3558: UINT
                   3559: WINAPI
1.1       root     3560: GetProfileIntW(
1.1.1.2   root     3561:     LPCWSTR lpAppName,
                   3562:     LPCWSTR lpKeyName,
1.1.1.4 ! root     3563:     INT     nDefault
1.1       root     3564:     );
                   3565: #ifdef UNICODE
1.1.1.4 ! root     3566: #define GetProfileInt  GetProfileIntW
1.1       root     3567: #else
1.1.1.4 ! root     3568: #define GetProfileInt  GetProfileIntA
1.1       root     3569: #endif // !UNICODE
                   3570: 
                   3571: DWORD
1.1.1.2   root     3572: WINAPI
1.1       root     3573: GetProfileStringA(
1.1.1.2   root     3574:     LPCSTR lpAppName,
                   3575:     LPCSTR lpKeyName,
                   3576:     LPCSTR lpDefault,
1.1       root     3577:     LPSTR lpReturnedString,
                   3578:     DWORD nSize
                   3579:     );
                   3580: DWORD
1.1.1.2   root     3581: WINAPI
1.1       root     3582: GetProfileStringW(
1.1.1.2   root     3583:     LPCWSTR lpAppName,
                   3584:     LPCWSTR lpKeyName,
                   3585:     LPCWSTR lpDefault,
1.1       root     3586:     LPWSTR lpReturnedString,
                   3587:     DWORD nSize
                   3588:     );
                   3589: #ifdef UNICODE
1.1.1.4 ! root     3590: #define GetProfileString  GetProfileStringW
1.1       root     3591: #else
1.1.1.4 ! root     3592: #define GetProfileString  GetProfileStringA
1.1       root     3593: #endif // !UNICODE
                   3594: 
                   3595: BOOL
1.1.1.2   root     3596: WINAPI
1.1       root     3597: WriteProfileStringA(
1.1.1.2   root     3598:     LPCSTR lpAppName,
                   3599:     LPCSTR lpKeyName,
                   3600:     LPCSTR lpString
1.1       root     3601:     );
                   3602: BOOL
1.1.1.2   root     3603: WINAPI
1.1       root     3604: WriteProfileStringW(
1.1.1.2   root     3605:     LPCWSTR lpAppName,
                   3606:     LPCWSTR lpKeyName,
                   3607:     LPCWSTR lpString
1.1       root     3608:     );
                   3609: #ifdef UNICODE
1.1.1.4 ! root     3610: #define WriteProfileString  WriteProfileStringW
1.1       root     3611: #else
1.1.1.4 ! root     3612: #define WriteProfileString  WriteProfileStringA
1.1       root     3613: #endif // !UNICODE
                   3614: 
                   3615: DWORD
1.1.1.2   root     3616: WINAPI
1.1       root     3617: GetProfileSectionA(
1.1.1.2   root     3618:     LPCSTR lpAppName,
1.1       root     3619:     LPSTR lpReturnedString,
                   3620:     DWORD nSize
                   3621:     );
                   3622: DWORD
1.1.1.2   root     3623: WINAPI
1.1       root     3624: GetProfileSectionW(
1.1.1.2   root     3625:     LPCWSTR lpAppName,
1.1       root     3626:     LPWSTR lpReturnedString,
                   3627:     DWORD nSize
                   3628:     );
                   3629: #ifdef UNICODE
1.1.1.4 ! root     3630: #define GetProfileSection  GetProfileSectionW
1.1       root     3631: #else
1.1.1.4 ! root     3632: #define GetProfileSection  GetProfileSectionA
1.1       root     3633: #endif // !UNICODE
                   3634: 
1.1.1.2   root     3635: BOOL
                   3636: WINAPI
1.1       root     3637: WriteProfileSectionA(
1.1.1.2   root     3638:     LPCSTR lpAppName,
                   3639:     LPCSTR lpString
1.1       root     3640:     );
1.1.1.2   root     3641: BOOL
                   3642: WINAPI
1.1       root     3643: WriteProfileSectionW(
1.1.1.2   root     3644:     LPCWSTR lpAppName,
                   3645:     LPCWSTR lpString
1.1       root     3646:     );
                   3647: #ifdef UNICODE
1.1.1.4 ! root     3648: #define WriteProfileSection  WriteProfileSectionW
1.1       root     3649: #else
1.1.1.4 ! root     3650: #define WriteProfileSection  WriteProfileSectionA
1.1       root     3651: #endif // !UNICODE
                   3652: 
1.1.1.2   root     3653: UINT
                   3654: WINAPI
1.1       root     3655: GetPrivateProfileIntA(
1.1.1.2   root     3656:     LPCSTR lpAppName,
                   3657:     LPCSTR lpKeyName,
1.1.1.4 ! root     3658:     INT    nDefault,
1.1.1.2   root     3659:     LPCSTR lpFileName
1.1       root     3660:     );
1.1.1.2   root     3661: UINT
                   3662: WINAPI
1.1       root     3663: GetPrivateProfileIntW(
1.1.1.2   root     3664:     LPCWSTR lpAppName,
                   3665:     LPCWSTR lpKeyName,
1.1.1.4 ! root     3666:     INT     nDefault,
1.1.1.2   root     3667:     LPCWSTR lpFileName
1.1       root     3668:     );
                   3669: #ifdef UNICODE
1.1.1.4 ! root     3670: #define GetPrivateProfileInt  GetPrivateProfileIntW
1.1       root     3671: #else
1.1.1.4 ! root     3672: #define GetPrivateProfileInt  GetPrivateProfileIntA
1.1       root     3673: #endif // !UNICODE
                   3674: 
                   3675: DWORD
1.1.1.2   root     3676: WINAPI
1.1       root     3677: GetPrivateProfileStringA(
1.1.1.2   root     3678:     LPCSTR lpAppName,
                   3679:     LPCSTR lpKeyName,
                   3680:     LPCSTR lpDefault,
1.1       root     3681:     LPSTR lpReturnedString,
                   3682:     DWORD nSize,
1.1.1.2   root     3683:     LPCSTR lpFileName
1.1       root     3684:     );
                   3685: DWORD
1.1.1.2   root     3686: WINAPI
1.1       root     3687: GetPrivateProfileStringW(
1.1.1.2   root     3688:     LPCWSTR lpAppName,
                   3689:     LPCWSTR lpKeyName,
                   3690:     LPCWSTR lpDefault,
1.1       root     3691:     LPWSTR lpReturnedString,
                   3692:     DWORD nSize,
1.1.1.2   root     3693:     LPCWSTR lpFileName
1.1       root     3694:     );
                   3695: #ifdef UNICODE
1.1.1.4 ! root     3696: #define GetPrivateProfileString  GetPrivateProfileStringW
1.1       root     3697: #else
1.1.1.4 ! root     3698: #define GetPrivateProfileString  GetPrivateProfileStringA
1.1       root     3699: #endif // !UNICODE
                   3700: 
                   3701: BOOL
1.1.1.2   root     3702: WINAPI
1.1       root     3703: WritePrivateProfileStringA(
1.1.1.2   root     3704:     LPCSTR lpAppName,
                   3705:     LPCSTR lpKeyName,
                   3706:     LPCSTR lpString,
                   3707:     LPCSTR lpFileName
1.1       root     3708:     );
                   3709: BOOL
1.1.1.2   root     3710: WINAPI
1.1       root     3711: WritePrivateProfileStringW(
1.1.1.2   root     3712:     LPCWSTR lpAppName,
                   3713:     LPCWSTR lpKeyName,
                   3714:     LPCWSTR lpString,
                   3715:     LPCWSTR lpFileName
1.1       root     3716:     );
                   3717: #ifdef UNICODE
1.1.1.4 ! root     3718: #define WritePrivateProfileString  WritePrivateProfileStringW
1.1       root     3719: #else
1.1.1.4 ! root     3720: #define WritePrivateProfileString  WritePrivateProfileStringA
1.1       root     3721: #endif // !UNICODE
                   3722: 
                   3723: DWORD
1.1.1.2   root     3724: WINAPI
1.1       root     3725: GetPrivateProfileSectionA(
1.1.1.2   root     3726:     LPCSTR lpAppName,
1.1       root     3727:     LPSTR lpReturnedString,
                   3728:     DWORD nSize,
1.1.1.2   root     3729:     LPCSTR lpFileName
1.1       root     3730:     );
                   3731: DWORD
1.1.1.2   root     3732: WINAPI
1.1       root     3733: GetPrivateProfileSectionW(
1.1.1.2   root     3734:     LPCWSTR lpAppName,
1.1       root     3735:     LPWSTR lpReturnedString,
                   3736:     DWORD nSize,
1.1.1.2   root     3737:     LPCWSTR lpFileName
1.1       root     3738:     );
                   3739: #ifdef UNICODE
1.1.1.4 ! root     3740: #define GetPrivateProfileSection  GetPrivateProfileSectionW
1.1       root     3741: #else
1.1.1.4 ! root     3742: #define GetPrivateProfileSection  GetPrivateProfileSectionA
1.1       root     3743: #endif // !UNICODE
                   3744: 
1.1.1.2   root     3745: BOOL
                   3746: WINAPI
1.1       root     3747: WritePrivateProfileSectionA(
1.1.1.2   root     3748:     LPCSTR lpAppName,
                   3749:     LPCSTR lpString,
                   3750:     LPCSTR lpFileName
1.1       root     3751:     );
1.1.1.2   root     3752: BOOL
                   3753: WINAPI
1.1       root     3754: WritePrivateProfileSectionW(
1.1.1.2   root     3755:     LPCWSTR lpAppName,
                   3756:     LPCWSTR lpString,
                   3757:     LPCWSTR lpFileName
1.1       root     3758:     );
                   3759: #ifdef UNICODE
1.1.1.4 ! root     3760: #define WritePrivateProfileSection  WritePrivateProfileSectionW
1.1       root     3761: #else
1.1.1.4 ! root     3762: #define WritePrivateProfileSection  WritePrivateProfileSectionA
1.1       root     3763: #endif // !UNICODE
                   3764: 
1.1.1.2   root     3765: UINT
                   3766: WINAPI
1.1       root     3767: GetDriveTypeA(
1.1.1.4 ! root     3768:     LPCSTR lpRootPathName
1.1       root     3769:     );
1.1.1.2   root     3770: UINT
                   3771: WINAPI
1.1       root     3772: GetDriveTypeW(
1.1.1.4 ! root     3773:     LPCWSTR lpRootPathName
1.1       root     3774:     );
                   3775: #ifdef UNICODE
1.1.1.4 ! root     3776: #define GetDriveType  GetDriveTypeW
1.1       root     3777: #else
1.1.1.4 ! root     3778: #define GetDriveType  GetDriveTypeA
1.1       root     3779: #endif // !UNICODE
                   3780: 
1.1.1.2   root     3781: UINT
                   3782: WINAPI
1.1       root     3783: GetSystemDirectoryA(
                   3784:     LPSTR lpBuffer,
1.1.1.2   root     3785:     UINT uSize
1.1       root     3786:     );
1.1.1.2   root     3787: UINT
                   3788: WINAPI
1.1       root     3789: GetSystemDirectoryW(
                   3790:     LPWSTR lpBuffer,
1.1.1.2   root     3791:     UINT uSize
1.1       root     3792:     );
                   3793: #ifdef UNICODE
1.1.1.4 ! root     3794: #define GetSystemDirectory  GetSystemDirectoryW
1.1       root     3795: #else
1.1.1.4 ! root     3796: #define GetSystemDirectory  GetSystemDirectoryA
1.1       root     3797: #endif // !UNICODE
                   3798: 
                   3799: DWORD
1.1.1.2   root     3800: WINAPI
1.1       root     3801: GetTempPathA(
                   3802:     DWORD nBufferLength,
                   3803:     LPSTR lpBuffer
                   3804:     );
                   3805: DWORD
1.1.1.2   root     3806: WINAPI
1.1       root     3807: GetTempPathW(
                   3808:     DWORD nBufferLength,
                   3809:     LPWSTR lpBuffer
                   3810:     );
                   3811: #ifdef UNICODE
1.1.1.4 ! root     3812: #define GetTempPath  GetTempPathW
1.1       root     3813: #else
1.1.1.4 ! root     3814: #define GetTempPath  GetTempPathA
1.1       root     3815: #endif // !UNICODE
                   3816: 
1.1.1.2   root     3817: UINT
                   3818: WINAPI
1.1       root     3819: GetTempFileNameA(
1.1.1.2   root     3820:     LPCSTR lpPathName,
                   3821:     LPCSTR lpPrefixString,
                   3822:     UINT uUnique,
1.1       root     3823:     LPSTR lpTempFileName
                   3824:     );
1.1.1.2   root     3825: UINT
                   3826: WINAPI
1.1       root     3827: GetTempFileNameW(
1.1.1.2   root     3828:     LPCWSTR lpPathName,
                   3829:     LPCWSTR lpPrefixString,
                   3830:     UINT uUnique,
1.1       root     3831:     LPWSTR lpTempFileName
                   3832:     );
                   3833: #ifdef UNICODE
1.1.1.4 ! root     3834: #define GetTempFileName  GetTempFileNameW
1.1       root     3835: #else
1.1.1.4 ! root     3836: #define GetTempFileName  GetTempFileNameA
1.1       root     3837: #endif // !UNICODE
                   3838: 
1.1.1.2   root     3839: UINT
                   3840: WINAPI
1.1       root     3841: GetWindowsDirectoryA(
                   3842:     LPSTR lpBuffer,
1.1.1.2   root     3843:     UINT uSize
1.1       root     3844:     );
1.1.1.2   root     3845: UINT
                   3846: WINAPI
1.1       root     3847: GetWindowsDirectoryW(
                   3848:     LPWSTR lpBuffer,
1.1.1.2   root     3849:     UINT uSize
1.1       root     3850:     );
                   3851: #ifdef UNICODE
1.1.1.4 ! root     3852: #define GetWindowsDirectory  GetWindowsDirectoryW
1.1       root     3853: #else
1.1.1.4 ! root     3854: #define GetWindowsDirectory  GetWindowsDirectoryA
1.1       root     3855: #endif // !UNICODE
                   3856: 
                   3857: BOOL
1.1.1.2   root     3858: WINAPI
1.1       root     3859: SetCurrentDirectoryA(
1.1.1.4 ! root     3860:     LPCSTR lpPathName
1.1       root     3861:     );
                   3862: BOOL
1.1.1.2   root     3863: WINAPI
1.1       root     3864: SetCurrentDirectoryW(
1.1.1.4 ! root     3865:     LPCWSTR lpPathName
1.1       root     3866:     );
                   3867: #ifdef UNICODE
1.1.1.4 ! root     3868: #define SetCurrentDirectory  SetCurrentDirectoryW
1.1       root     3869: #else
1.1.1.4 ! root     3870: #define SetCurrentDirectory  SetCurrentDirectoryA
1.1       root     3871: #endif // !UNICODE
                   3872: 
                   3873: DWORD
1.1.1.2   root     3874: WINAPI
1.1       root     3875: GetCurrentDirectoryA(
                   3876:     DWORD nBufferLength,
                   3877:     LPSTR lpBuffer
                   3878:     );
                   3879: DWORD
1.1.1.2   root     3880: WINAPI
1.1       root     3881: GetCurrentDirectoryW(
                   3882:     DWORD nBufferLength,
                   3883:     LPWSTR lpBuffer
                   3884:     );
                   3885: #ifdef UNICODE
1.1.1.4 ! root     3886: #define GetCurrentDirectory  GetCurrentDirectoryW
1.1       root     3887: #else
1.1.1.4 ! root     3888: #define GetCurrentDirectory  GetCurrentDirectoryA
1.1       root     3889: #endif // !UNICODE
                   3890: 
                   3891: BOOL
1.1.1.2   root     3892: WINAPI
1.1       root     3893: GetDiskFreeSpaceA(
1.1.1.4 ! root     3894:     LPCSTR lpRootPathName,
1.1       root     3895:     LPDWORD lpSectorsPerCluster,
                   3896:     LPDWORD lpBytesPerSector,
                   3897:     LPDWORD lpNumberOfFreeClusters,
                   3898:     LPDWORD lpTotalNumberOfClusters
                   3899:     );
                   3900: BOOL
1.1.1.2   root     3901: WINAPI
1.1       root     3902: GetDiskFreeSpaceW(
1.1.1.4 ! root     3903:     LPCWSTR lpRootPathName,
1.1       root     3904:     LPDWORD lpSectorsPerCluster,
                   3905:     LPDWORD lpBytesPerSector,
                   3906:     LPDWORD lpNumberOfFreeClusters,
                   3907:     LPDWORD lpTotalNumberOfClusters
                   3908:     );
                   3909: #ifdef UNICODE
1.1.1.4 ! root     3910: #define GetDiskFreeSpace  GetDiskFreeSpaceW
1.1       root     3911: #else
1.1.1.4 ! root     3912: #define GetDiskFreeSpace  GetDiskFreeSpaceA
1.1       root     3913: #endif // !UNICODE
                   3914: 
                   3915: BOOL
1.1.1.2   root     3916: WINAPI
1.1       root     3917: CreateDirectoryA(
1.1.1.4 ! root     3918:     LPCSTR lpPathName,
1.1       root     3919:     LPSECURITY_ATTRIBUTES lpSecurityAttributes
                   3920:     );
                   3921: BOOL
1.1.1.2   root     3922: WINAPI
1.1       root     3923: CreateDirectoryW(
1.1.1.4 ! root     3924:     LPCWSTR lpPathName,
1.1       root     3925:     LPSECURITY_ATTRIBUTES lpSecurityAttributes
                   3926:     );
                   3927: #ifdef UNICODE
1.1.1.4 ! root     3928: #define CreateDirectory  CreateDirectoryW
1.1       root     3929: #else
1.1.1.4 ! root     3930: #define CreateDirectory  CreateDirectoryA
        !          3931: #endif // !UNICODE
        !          3932: 
        !          3933: BOOL
        !          3934: WINAPI
        !          3935: CreateDirectoryExA(
        !          3936:     LPCSTR lpTemplateDirectory,
        !          3937:     LPCSTR lpNewDirectory,
        !          3938:     LPSECURITY_ATTRIBUTES lpSecurityAttributes
        !          3939:     );
        !          3940: BOOL
        !          3941: WINAPI
        !          3942: CreateDirectoryExW(
        !          3943:     LPCWSTR lpTemplateDirectory,
        !          3944:     LPCWSTR lpNewDirectory,
        !          3945:     LPSECURITY_ATTRIBUTES lpSecurityAttributes
        !          3946:     );
        !          3947: #ifdef UNICODE
        !          3948: #define CreateDirectoryEx CreateDirectoryExW
        !          3949: #else
        !          3950: #define CreateDirectoryEx CreateDirectoryExA
1.1       root     3951: #endif // !UNICODE
                   3952: 
                   3953: BOOL
1.1.1.2   root     3954: WINAPI
1.1       root     3955: RemoveDirectoryA(
1.1.1.4 ! root     3956:     LPCSTR lpPathName
1.1       root     3957:     );
                   3958: BOOL
1.1.1.2   root     3959: WINAPI
1.1       root     3960: RemoveDirectoryW(
1.1.1.4 ! root     3961:     LPCWSTR lpPathName
1.1       root     3962:     );
                   3963: #ifdef UNICODE
1.1.1.4 ! root     3964: #define RemoveDirectory  RemoveDirectoryW
1.1       root     3965: #else
1.1.1.4 ! root     3966: #define RemoveDirectory  RemoveDirectoryA
1.1       root     3967: #endif // !UNICODE
                   3968: 
                   3969: DWORD
1.1.1.2   root     3970: WINAPI
1.1       root     3971: GetFullPathNameA(
1.1.1.2   root     3972:     LPCSTR lpFileName,
1.1       root     3973:     DWORD nBufferLength,
                   3974:     LPSTR lpBuffer,
                   3975:     LPSTR *lpFilePart
                   3976:     );
                   3977: DWORD
1.1.1.2   root     3978: WINAPI
1.1       root     3979: GetFullPathNameW(
1.1.1.2   root     3980:     LPCWSTR lpFileName,
1.1       root     3981:     DWORD nBufferLength,
                   3982:     LPWSTR lpBuffer,
                   3983:     LPWSTR *lpFilePart
                   3984:     );
                   3985: #ifdef UNICODE
1.1.1.4 ! root     3986: #define GetFullPathName  GetFullPathNameW
1.1       root     3987: #else
1.1.1.4 ! root     3988: #define GetFullPathName  GetFullPathNameA
1.1       root     3989: #endif // !UNICODE
                   3990: 
                   3991: 
1.1.1.4 ! root     3992: #define DDD_RAW_TARGET_PATH         0x00000001
        !          3993: #define DDD_REMOVE_DEFINITION       0x00000002
        !          3994: #define DDD_EXACT_MATCH_ON_REMOVE   0x00000004
        !          3995: 
        !          3996: BOOL
        !          3997: WINAPI
        !          3998: DefineDosDeviceA(
        !          3999:     DWORD dwFlags,
        !          4000:     LPCSTR lpDeviceName,
        !          4001:     LPCSTR lpTargetPath
        !          4002:     );
        !          4003: BOOL
        !          4004: WINAPI
        !          4005: DefineDosDeviceW(
        !          4006:     DWORD dwFlags,
        !          4007:     LPCWSTR lpDeviceName,
        !          4008:     LPCWSTR lpTargetPath
        !          4009:     );
        !          4010: #ifdef UNICODE
        !          4011: #define DefineDosDevice  DefineDosDeviceW
        !          4012: #else
        !          4013: #define DefineDosDevice  DefineDosDeviceA
        !          4014: #endif // !UNICODE
        !          4015: 
        !          4016: DWORD
        !          4017: WINAPI
        !          4018: QueryDosDeviceA(
        !          4019:     LPCSTR lpDeviceName,
        !          4020:     LPSTR lpTargetPath,
        !          4021:     DWORD ucchMax
        !          4022:     );
        !          4023: DWORD
        !          4024: WINAPI
        !          4025: QueryDosDeviceW(
        !          4026:     LPCWSTR lpDeviceName,
        !          4027:     LPWSTR lpTargetPath,
        !          4028:     DWORD ucchMax
        !          4029:     );
        !          4030: #ifdef UNICODE
        !          4031: #define QueryDosDevice  QueryDosDeviceW
        !          4032: #else
        !          4033: #define QueryDosDevice  QueryDosDeviceA
        !          4034: #endif // !UNICODE
        !          4035: 
        !          4036: #define EXPAND_LOCAL_DRIVES
1.1       root     4037: 
                   4038: HANDLE
1.1.1.2   root     4039: WINAPI
1.1       root     4040: CreateFileA(
1.1.1.2   root     4041:     LPCSTR lpFileName,
1.1       root     4042:     DWORD dwDesiredAccess,
                   4043:     DWORD dwShareMode,
                   4044:     LPSECURITY_ATTRIBUTES lpSecurityAttributes,
                   4045:     DWORD dwCreationDisposition,
                   4046:     DWORD dwFlagsAndAttributes,
                   4047:     HANDLE hTemplateFile
                   4048:     );
                   4049: HANDLE
1.1.1.2   root     4050: WINAPI
1.1       root     4051: CreateFileW(
1.1.1.2   root     4052:     LPCWSTR lpFileName,
1.1       root     4053:     DWORD dwDesiredAccess,
                   4054:     DWORD dwShareMode,
                   4055:     LPSECURITY_ATTRIBUTES lpSecurityAttributes,
                   4056:     DWORD dwCreationDisposition,
                   4057:     DWORD dwFlagsAndAttributes,
                   4058:     HANDLE hTemplateFile
                   4059:     );
                   4060: #ifdef UNICODE
1.1.1.4 ! root     4061: #define CreateFile  CreateFileW
1.1       root     4062: #else
1.1.1.4 ! root     4063: #define CreateFile  CreateFileA
1.1       root     4064: #endif // !UNICODE
                   4065: 
                   4066: BOOL
1.1.1.2   root     4067: WINAPI
1.1       root     4068: SetFileAttributesA(
1.1.1.4 ! root     4069:     LPCSTR lpFileName,
1.1       root     4070:     DWORD dwFileAttributes
                   4071:     );
                   4072: BOOL
1.1.1.2   root     4073: WINAPI
1.1       root     4074: SetFileAttributesW(
1.1.1.4 ! root     4075:     LPCWSTR lpFileName,
1.1       root     4076:     DWORD dwFileAttributes
                   4077:     );
                   4078: #ifdef UNICODE
1.1.1.4 ! root     4079: #define SetFileAttributes  SetFileAttributesW
1.1       root     4080: #else
1.1.1.4 ! root     4081: #define SetFileAttributes  SetFileAttributesA
1.1       root     4082: #endif // !UNICODE
                   4083: 
                   4084: DWORD
1.1.1.2   root     4085: WINAPI
1.1       root     4086: GetFileAttributesA(
1.1.1.4 ! root     4087:     LPCSTR lpFileName
1.1       root     4088:     );
                   4089: DWORD
1.1.1.2   root     4090: WINAPI
1.1       root     4091: GetFileAttributesW(
1.1.1.4 ! root     4092:     LPCWSTR lpFileName
1.1       root     4093:     );
                   4094: #ifdef UNICODE
1.1.1.4 ! root     4095: #define GetFileAttributes  GetFileAttributesW
1.1       root     4096: #else
1.1.1.4 ! root     4097: #define GetFileAttributes  GetFileAttributesA
1.1       root     4098: #endif // !UNICODE
                   4099: 
                   4100: BOOL
1.1.1.2   root     4101: WINAPI
1.1       root     4102: DeleteFileA(
1.1.1.4 ! root     4103:     LPCSTR lpFileName
1.1       root     4104:     );
                   4105: BOOL
1.1.1.2   root     4106: WINAPI
1.1       root     4107: DeleteFileW(
1.1.1.4 ! root     4108:     LPCWSTR lpFileName
1.1       root     4109:     );
                   4110: #ifdef UNICODE
1.1.1.4 ! root     4111: #define DeleteFile  DeleteFileW
1.1       root     4112: #else
1.1.1.4 ! root     4113: #define DeleteFile  DeleteFileA
1.1       root     4114: #endif // !UNICODE
                   4115: 
                   4116: HANDLE
1.1.1.2   root     4117: WINAPI
1.1       root     4118: FindFirstFileA(
1.1.1.4 ! root     4119:     LPCSTR lpFileName,
1.1       root     4120:     LPWIN32_FIND_DATAA lpFindFileData
                   4121:     );
                   4122: HANDLE
1.1.1.2   root     4123: WINAPI
1.1       root     4124: FindFirstFileW(
1.1.1.4 ! root     4125:     LPCWSTR lpFileName,
1.1       root     4126:     LPWIN32_FIND_DATAW lpFindFileData
                   4127:     );
                   4128: #ifdef UNICODE
1.1.1.4 ! root     4129: #define FindFirstFile  FindFirstFileW
1.1       root     4130: #else
1.1.1.4 ! root     4131: #define FindFirstFile  FindFirstFileA
1.1       root     4132: #endif // !UNICODE
                   4133: 
                   4134: BOOL
1.1.1.2   root     4135: WINAPI
1.1       root     4136: FindNextFileA(
                   4137:     HANDLE hFindFile,
                   4138:     LPWIN32_FIND_DATAA lpFindFileData
                   4139:     );
                   4140: BOOL
1.1.1.2   root     4141: WINAPI
1.1       root     4142: FindNextFileW(
                   4143:     HANDLE hFindFile,
                   4144:     LPWIN32_FIND_DATAW lpFindFileData
                   4145:     );
                   4146: #ifdef UNICODE
1.1.1.4 ! root     4147: #define FindNextFile  FindNextFileW
1.1       root     4148: #else
1.1.1.4 ! root     4149: #define FindNextFile  FindNextFileA
1.1       root     4150: #endif // !UNICODE
                   4151: 
                   4152: DWORD
1.1.1.2   root     4153: WINAPI
1.1       root     4154: SearchPathA(
1.1.1.2   root     4155:     LPCSTR lpPath,
                   4156:     LPCSTR lpFileName,
                   4157:     LPCSTR lpExtension,
1.1       root     4158:     DWORD nBufferLength,
                   4159:     LPSTR lpBuffer,
                   4160:     LPSTR *lpFilePart
                   4161:     );
                   4162: DWORD
1.1.1.2   root     4163: WINAPI
1.1       root     4164: SearchPathW(
1.1.1.2   root     4165:     LPCWSTR lpPath,
                   4166:     LPCWSTR lpFileName,
                   4167:     LPCWSTR lpExtension,
1.1       root     4168:     DWORD nBufferLength,
                   4169:     LPWSTR lpBuffer,
                   4170:     LPWSTR *lpFilePart
                   4171:     );
                   4172: #ifdef UNICODE
1.1.1.4 ! root     4173: #define SearchPath  SearchPathW
1.1       root     4174: #else
1.1.1.4 ! root     4175: #define SearchPath  SearchPathA
1.1       root     4176: #endif // !UNICODE
                   4177: 
                   4178: BOOL
1.1.1.2   root     4179: WINAPI
1.1       root     4180: CopyFileA(
1.1.1.4 ! root     4181:     LPCSTR lpExistingFileName,
        !          4182:     LPCSTR lpNewFileName,
1.1       root     4183:     BOOL bFailIfExists
                   4184:     );
                   4185: BOOL
1.1.1.2   root     4186: WINAPI
1.1       root     4187: CopyFileW(
1.1.1.4 ! root     4188:     LPCWSTR lpExistingFileName,
        !          4189:     LPCWSTR lpNewFileName,
1.1       root     4190:     BOOL bFailIfExists
                   4191:     );
                   4192: #ifdef UNICODE
1.1.1.4 ! root     4193: #define CopyFile  CopyFileW
1.1       root     4194: #else
1.1.1.4 ! root     4195: #define CopyFile  CopyFileA
1.1       root     4196: #endif // !UNICODE
                   4197: 
                   4198: BOOL
1.1.1.2   root     4199: WINAPI
1.1       root     4200: MoveFileA(
1.1.1.4 ! root     4201:     LPCSTR lpExistingFileName,
        !          4202:     LPCSTR lpNewFileName
1.1       root     4203:     );
                   4204: BOOL
1.1.1.2   root     4205: WINAPI
1.1       root     4206: MoveFileW(
1.1.1.4 ! root     4207:     LPCWSTR lpExistingFileName,
        !          4208:     LPCWSTR lpNewFileName
1.1       root     4209:     );
                   4210: #ifdef UNICODE
1.1.1.4 ! root     4211: #define MoveFile  MoveFileW
1.1       root     4212: #else
1.1.1.4 ! root     4213: #define MoveFile  MoveFileA
1.1       root     4214: #endif // !UNICODE
                   4215: 
1.1.1.3   root     4216: BOOL
                   4217: WINAPI
                   4218: MoveFileExA(
1.1.1.4 ! root     4219:     LPCSTR lpExistingFileName,
        !          4220:     LPCSTR lpNewFileName,
1.1.1.3   root     4221:     DWORD dwFlags
                   4222:     );
                   4223: BOOL
                   4224: WINAPI
                   4225: MoveFileExW(
1.1.1.4 ! root     4226:     LPCWSTR lpExistingFileName,
        !          4227:     LPCWSTR lpNewFileName,
1.1.1.3   root     4228:     DWORD dwFlags
                   4229:     );
                   4230: #ifdef UNICODE
1.1.1.4 ! root     4231: #define MoveFileEx  MoveFileExW
1.1.1.3   root     4232: #else
1.1.1.4 ! root     4233: #define MoveFileEx  MoveFileExA
1.1.1.3   root     4234: #endif // !UNICODE
                   4235: 
                   4236: #define MOVEFILE_REPLACE_EXISTING   0x00000001
                   4237: #define MOVEFILE_COPY_ALLOWED       0x00000002
                   4238: #define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004
                   4239: 
1.1       root     4240: HANDLE
1.1.1.2   root     4241: WINAPI
1.1       root     4242: CreateNamedPipeA(
1.1.1.4 ! root     4243:     LPCSTR lpName,
1.1       root     4244:     DWORD dwOpenMode,
                   4245:     DWORD dwPipeMode,
                   4246:     DWORD nMaxInstances,
                   4247:     DWORD nOutBufferSize,
                   4248:     DWORD nInBufferSize,
                   4249:     DWORD nDefaultTimeOut,
                   4250:     LPSECURITY_ATTRIBUTES lpSecurityAttributes
                   4251:     );
                   4252: HANDLE
1.1.1.2   root     4253: WINAPI
1.1       root     4254: CreateNamedPipeW(
1.1.1.4 ! root     4255:     LPCWSTR lpName,
1.1       root     4256:     DWORD dwOpenMode,
                   4257:     DWORD dwPipeMode,
                   4258:     DWORD nMaxInstances,
                   4259:     DWORD nOutBufferSize,
                   4260:     DWORD nInBufferSize,
                   4261:     DWORD nDefaultTimeOut,
                   4262:     LPSECURITY_ATTRIBUTES lpSecurityAttributes
                   4263:     );
                   4264: #ifdef UNICODE
1.1.1.4 ! root     4265: #define CreateNamedPipe  CreateNamedPipeW
1.1       root     4266: #else
1.1.1.4 ! root     4267: #define CreateNamedPipe  CreateNamedPipeA
1.1       root     4268: #endif // !UNICODE
                   4269: 
                   4270: BOOL
1.1.1.2   root     4271: WINAPI
1.1       root     4272: GetNamedPipeHandleStateA(
                   4273:     HANDLE hNamedPipe,
                   4274:     LPDWORD lpState,
                   4275:     LPDWORD lpCurInstances,
                   4276:     LPDWORD lpMaxCollectionCount,
                   4277:     LPDWORD lpCollectDataTimeout,
                   4278:     LPSTR lpUserName,
                   4279:     DWORD nMaxUserNameSize
                   4280:     );
                   4281: BOOL
1.1.1.2   root     4282: WINAPI
1.1       root     4283: GetNamedPipeHandleStateW(
                   4284:     HANDLE hNamedPipe,
                   4285:     LPDWORD lpState,
                   4286:     LPDWORD lpCurInstances,
                   4287:     LPDWORD lpMaxCollectionCount,
                   4288:     LPDWORD lpCollectDataTimeout,
                   4289:     LPWSTR lpUserName,
                   4290:     DWORD nMaxUserNameSize
                   4291:     );
                   4292: #ifdef UNICODE
1.1.1.4 ! root     4293: #define GetNamedPipeHandleState  GetNamedPipeHandleStateW
1.1       root     4294: #else
1.1.1.4 ! root     4295: #define GetNamedPipeHandleState  GetNamedPipeHandleStateA
1.1       root     4296: #endif // !UNICODE
                   4297: 
                   4298: BOOL
1.1.1.2   root     4299: WINAPI
1.1       root     4300: CallNamedPipeA(
1.1.1.4 ! root     4301:     LPCSTR lpNamedPipeName,
1.1       root     4302:     LPVOID lpInBuffer,
                   4303:     DWORD nInBufferSize,
                   4304:     LPVOID lpOutBuffer,
                   4305:     DWORD nOutBufferSize,
                   4306:     LPDWORD lpBytesRead,
                   4307:     DWORD nTimeOut
                   4308:     );
                   4309: BOOL
1.1.1.2   root     4310: WINAPI
1.1       root     4311: CallNamedPipeW(
1.1.1.4 ! root     4312:     LPCWSTR lpNamedPipeName,
1.1       root     4313:     LPVOID lpInBuffer,
                   4314:     DWORD nInBufferSize,
                   4315:     LPVOID lpOutBuffer,
                   4316:     DWORD nOutBufferSize,
                   4317:     LPDWORD lpBytesRead,
                   4318:     DWORD nTimeOut
                   4319:     );
                   4320: #ifdef UNICODE
1.1.1.4 ! root     4321: #define CallNamedPipe  CallNamedPipeW
1.1       root     4322: #else
1.1.1.4 ! root     4323: #define CallNamedPipe  CallNamedPipeA
1.1       root     4324: #endif // !UNICODE
                   4325: 
                   4326: BOOL
1.1.1.2   root     4327: WINAPI
1.1       root     4328: WaitNamedPipeA(
1.1.1.4 ! root     4329:     LPCSTR lpNamedPipeName,
1.1       root     4330:     DWORD nTimeOut
                   4331:     );
                   4332: BOOL
1.1.1.2   root     4333: WINAPI
1.1       root     4334: WaitNamedPipeW(
1.1.1.4 ! root     4335:     LPCWSTR lpNamedPipeName,
1.1       root     4336:     DWORD nTimeOut
                   4337:     );
                   4338: #ifdef UNICODE
1.1.1.4 ! root     4339: #define WaitNamedPipe  WaitNamedPipeW
1.1       root     4340: #else
1.1.1.4 ! root     4341: #define WaitNamedPipe  WaitNamedPipeA
1.1       root     4342: #endif // !UNICODE
                   4343: 
                   4344: BOOL
1.1.1.2   root     4345: WINAPI
1.1.1.4 ! root     4346: SetVolumeLabelA(
        !          4347:     LPCSTR lpRootPathName,
        !          4348:     LPCSTR lpVolumeName
        !          4349:     );
        !          4350: BOOL
        !          4351: WINAPI
        !          4352: SetVolumeLabelW(
        !          4353:     LPCWSTR lpRootPathName,
        !          4354:     LPCWSTR lpVolumeName
        !          4355:     );
        !          4356: #ifdef UNICODE
        !          4357: #define SetVolumeLabel  SetVolumeLabelW
        !          4358: #else
        !          4359: #define SetVolumeLabel  SetVolumeLabelA
        !          4360: #endif // !UNICODE
        !          4361: 
        !          4362: VOID
        !          4363: WINAPI
        !          4364: SetFileApisToOEM( VOID );
        !          4365: 
        !          4366: BOOL
        !          4367: WINAPI
1.1       root     4368: GetVolumeInformationA(
1.1.1.4 ! root     4369:     LPCSTR lpRootPathName,
1.1       root     4370:     LPSTR lpVolumeNameBuffer,
                   4371:     DWORD nVolumeNameSize,
                   4372:     LPDWORD lpVolumeSerialNumber,
                   4373:     LPDWORD lpMaximumComponentLength,
                   4374:     LPDWORD lpFileSystemFlags,
                   4375:     LPSTR lpFileSystemNameBuffer,
                   4376:     DWORD nFileSystemNameSize
                   4377:     );
                   4378: BOOL
1.1.1.2   root     4379: WINAPI
1.1       root     4380: GetVolumeInformationW(
1.1.1.4 ! root     4381:     LPCWSTR lpRootPathName,
1.1       root     4382:     LPWSTR lpVolumeNameBuffer,
                   4383:     DWORD nVolumeNameSize,
                   4384:     LPDWORD lpVolumeSerialNumber,
                   4385:     LPDWORD lpMaximumComponentLength,
                   4386:     LPDWORD lpFileSystemFlags,
                   4387:     LPWSTR lpFileSystemNameBuffer,
                   4388:     DWORD nFileSystemNameSize
                   4389:     );
                   4390: #ifdef UNICODE
1.1.1.4 ! root     4391: #define GetVolumeInformation  GetVolumeInformationW
1.1       root     4392: #else
1.1.1.4 ! root     4393: #define GetVolumeInformation  GetVolumeInformationA
1.1       root     4394: #endif // !UNICODE
                   4395: 
                   4396: //
                   4397: // Event logging APIs
                   4398: //
1.1.1.2   root     4399: 
1.1       root     4400: BOOL
1.1.1.2   root     4401: WINAPI
1.1       root     4402: ClearEventLogA (
1.1.1.2   root     4403:     HANDLE hEventLog,
1.1.1.4 ! root     4404:     LPCSTR lpBackupFileName
1.1       root     4405:     );
                   4406: BOOL
1.1.1.2   root     4407: WINAPI
1.1       root     4408: ClearEventLogW (
1.1.1.2   root     4409:     HANDLE hEventLog,
1.1.1.4 ! root     4410:     LPCWSTR lpBackupFileName
1.1       root     4411:     );
                   4412: #ifdef UNICODE
1.1.1.4 ! root     4413: #define ClearEventLog  ClearEventLogW
1.1       root     4414: #else
1.1.1.4 ! root     4415: #define ClearEventLog  ClearEventLogA
1.1       root     4416: #endif // !UNICODE
                   4417: 
                   4418: BOOL
1.1.1.2   root     4419: WINAPI
                   4420: BackupEventLogA (
                   4421:     HANDLE hEventLog,
1.1.1.4 ! root     4422:     LPCSTR lpBackupFileName
1.1.1.2   root     4423:     );
                   4424: BOOL
                   4425: WINAPI
                   4426: BackupEventLogW (
                   4427:     HANDLE hEventLog,
1.1.1.4 ! root     4428:     LPCWSTR lpBackupFileName
1.1.1.2   root     4429:     );
                   4430: #ifdef UNICODE
1.1.1.4 ! root     4431: #define BackupEventLog  BackupEventLogW
1.1.1.2   root     4432: #else
1.1.1.4 ! root     4433: #define BackupEventLog  BackupEventLogA
1.1.1.2   root     4434: #endif // !UNICODE
                   4435: 
                   4436: BOOL
                   4437: WINAPI
1.1       root     4438: CloseEventLog (
1.1.1.2   root     4439:     HANDLE hEventLog
                   4440:     );
                   4441: 
                   4442: BOOL
                   4443: WINAPI
                   4444: DeregisterEventSource (
                   4445:     HANDLE hEventLog
                   4446:     );
                   4447: 
                   4448: 
                   4449: BOOL
                   4450: WINAPI
                   4451: GetNumberOfEventLogRecords (
                   4452:     HANDLE hEventLog,
                   4453:     PDWORD NumberOfRecords
                   4454:     );
                   4455: 
                   4456: BOOL
                   4457: WINAPI
                   4458: GetOldestEventLogRecord (
                   4459:     HANDLE hEventLog,
                   4460:     PDWORD OldestRecord
1.1       root     4461:     );
                   4462: 
                   4463: HANDLE
1.1.1.2   root     4464: WINAPI
1.1       root     4465: OpenEventLogA (
1.1.1.4 ! root     4466:     LPCSTR lpUNCServerName,
        !          4467:     LPCSTR lpSourceName
1.1       root     4468:     );
                   4469: HANDLE
1.1.1.2   root     4470: WINAPI
1.1       root     4471: OpenEventLogW (
1.1.1.4 ! root     4472:     LPCWSTR lpUNCServerName,
        !          4473:     LPCWSTR lpSourceName
1.1       root     4474:     );
                   4475: #ifdef UNICODE
1.1.1.4 ! root     4476: #define OpenEventLog  OpenEventLogW
1.1       root     4477: #else
1.1.1.4 ! root     4478: #define OpenEventLog  OpenEventLogA
1.1       root     4479: #endif // !UNICODE
                   4480: 
1.1.1.2   root     4481: HANDLE
                   4482: WINAPI
                   4483: RegisterEventSourceA (
1.1.1.4 ! root     4484:     LPCSTR lpUNCServerName,
        !          4485:     LPCSTR lpSourceName
1.1.1.2   root     4486:     );
                   4487: HANDLE
                   4488: WINAPI
                   4489: RegisterEventSourceW (
1.1.1.4 ! root     4490:     LPCWSTR lpUNCServerName,
        !          4491:     LPCWSTR lpSourceName
1.1.1.2   root     4492:     );
                   4493: #ifdef UNICODE
1.1.1.4 ! root     4494: #define RegisterEventSource  RegisterEventSourceW
1.1.1.2   root     4495: #else
1.1.1.4 ! root     4496: #define RegisterEventSource  RegisterEventSourceA
1.1.1.2   root     4497: #endif // !UNICODE
                   4498: 
                   4499: HANDLE
                   4500: WINAPI
                   4501: OpenBackupEventLogA (
1.1.1.4 ! root     4502:     LPCSTR lpUNCServerName,
        !          4503:     LPCSTR lpFileName
1.1.1.2   root     4504:     );
                   4505: HANDLE
                   4506: WINAPI
                   4507: OpenBackupEventLogW (
1.1.1.4 ! root     4508:     LPCWSTR lpUNCServerName,
        !          4509:     LPCWSTR lpFileName
1.1.1.2   root     4510:     );
                   4511: #ifdef UNICODE
1.1.1.4 ! root     4512: #define OpenBackupEventLog  OpenBackupEventLogW
1.1.1.2   root     4513: #else
1.1.1.4 ! root     4514: #define OpenBackupEventLog  OpenBackupEventLogA
1.1.1.2   root     4515: #endif // !UNICODE
                   4516: 
1.1       root     4517: BOOL
1.1.1.2   root     4518: WINAPI
1.1       root     4519: ReadEventLogA (
1.1.1.2   root     4520:      HANDLE     hEventLog,
                   4521:      DWORD      dwReadFlags,
                   4522:      DWORD      dwRecordOffset,
                   4523:      LPVOID     lpBuffer,
                   4524:      DWORD      nNumberOfBytesToRead,
                   4525:      DWORD      *pnBytesRead,
                   4526:      DWORD      *pnMinNumberOfBytesNeeded
1.1       root     4527:     );
                   4528: BOOL
1.1.1.2   root     4529: WINAPI
1.1       root     4530: ReadEventLogW (
1.1.1.2   root     4531:      HANDLE     hEventLog,
                   4532:      DWORD      dwReadFlags,
                   4533:      DWORD      dwRecordOffset,
                   4534:      LPVOID     lpBuffer,
                   4535:      DWORD      nNumberOfBytesToRead,
                   4536:      DWORD      *pnBytesRead,
                   4537:      DWORD      *pnMinNumberOfBytesNeeded
1.1       root     4538:     );
                   4539: #ifdef UNICODE
1.1.1.4 ! root     4540: #define ReadEventLog  ReadEventLogW
1.1       root     4541: #else
1.1.1.4 ! root     4542: #define ReadEventLog  ReadEventLogA
1.1       root     4543: #endif // !UNICODE
                   4544: 
                   4545: BOOL
1.1.1.2   root     4546: WINAPI
                   4547: ReportEventA (
                   4548:      HANDLE     hEventLog,
                   4549:      WORD       wType,
                   4550:      WORD       wCategory,
                   4551:      DWORD      dwEventID,
                   4552:      PSID       lpUserSid,
                   4553:      WORD       wNumStrings,
                   4554:      DWORD      dwDataSize,
1.1.1.4 ! root     4555:      LPCSTR    *lpStrings,
1.1.1.2   root     4556:      LPVOID     lpRawData
                   4557:     );
                   4558: BOOL
                   4559: WINAPI
                   4560: ReportEventW (
                   4561:      HANDLE     hEventLog,
                   4562:      WORD       wType,
                   4563:      WORD       wCategory,
                   4564:      DWORD      dwEventID,
                   4565:      PSID       lpUserSid,
                   4566:      WORD       wNumStrings,
                   4567:      DWORD      dwDataSize,
1.1.1.4 ! root     4568:      LPCWSTR    *lpStrings,
1.1.1.2   root     4569:      LPVOID     lpRawData
1.1       root     4570:     );
                   4571: #ifdef UNICODE
1.1.1.4 ! root     4572: #define ReportEvent  ReportEventW
1.1       root     4573: #else
1.1.1.4 ! root     4574: #define ReportEvent  ReportEventA
1.1       root     4575: #endif // !UNICODE
1.1.1.2   root     4576: 
1.1       root     4577: //
1.1.1.2   root     4578: //
                   4579: // Security APIs
                   4580: //
                   4581: 
                   4582: 
                   4583: BOOL
                   4584: WINAPI
                   4585: DuplicateToken(
                   4586:     HANDLE ExistingTokenHandle,
                   4587:     SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
                   4588:     PHANDLE DuplicateTokenHandle
                   4589:     );
                   4590: 
                   4591: BOOL
                   4592: WINAPI
                   4593: GetKernelObjectSecurity (
                   4594:     HANDLE Handle,
                   4595:     SECURITY_INFORMATION RequestedInformation,
                   4596:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   4597:     DWORD nLength,
                   4598:     LPDWORD lpnLengthNeeded
                   4599:     );
                   4600: 
                   4601: BOOL
                   4602: WINAPI
                   4603: ImpersonateNamedPipeClient(
                   4604:     HANDLE hNamedPipe
                   4605:     );
                   4606: 
                   4607: BOOL
                   4608: WINAPI
                   4609: ImpersonateSelf(
                   4610:     SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
                   4611:     );
                   4612: 
                   4613: 
                   4614: BOOL
                   4615: WINAPI
                   4616: RevertToSelf (
                   4617:     VOID
                   4618:     );
                   4619: 
1.1.1.4 ! root     4620: BOOL
        !          4621: APIENTRY
        !          4622: SetThreadToken (
        !          4623:     PHANDLE Thread,
        !          4624:     HANDLE Token
        !          4625:     );
1.1.1.2   root     4626: 
                   4627: BOOL
                   4628: WINAPI
                   4629: AccessCheck (
                   4630:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   4631:     HANDLE ClientToken,
                   4632:     DWORD DesiredAccess,
                   4633:     PGENERIC_MAPPING GenericMapping,
                   4634:     PPRIVILEGE_SET PrivilegeSet,
                   4635:     LPDWORD PrivilegeSetLength,
                   4636:     LPDWORD GrantedAccess,
                   4637:     LPBOOL AccessStatus
                   4638:     );
                   4639: 
                   4640: 
                   4641: BOOL
                   4642: WINAPI
                   4643: OpenProcessToken (
                   4644:     HANDLE ProcessHandle,
                   4645:     DWORD DesiredAccess,
                   4646:     PHANDLE TokenHandle
                   4647:     );
                   4648: 
                   4649: 
                   4650: BOOL
                   4651: WINAPI
                   4652: OpenThreadToken (
                   4653:     HANDLE ThreadHandle,
                   4654:     DWORD DesiredAccess,
                   4655:     BOOL OpenAsSelf,
                   4656:     PHANDLE TokenHandle
                   4657:     );
                   4658: 
                   4659: 
                   4660: BOOL
                   4661: WINAPI
                   4662: GetTokenInformation (
                   4663:     HANDLE TokenHandle,
                   4664:     TOKEN_INFORMATION_CLASS TokenInformationClass,
                   4665:     LPVOID TokenInformation,
                   4666:     DWORD TokenInformationLength,
                   4667:     PDWORD ReturnLength
                   4668:     );
                   4669: 
                   4670: 
                   4671: BOOL
                   4672: WINAPI
                   4673: SetTokenInformation (
                   4674:     HANDLE TokenHandle,
                   4675:     TOKEN_INFORMATION_CLASS TokenInformationClass,
                   4676:     LPVOID TokenInformation,
                   4677:     DWORD TokenInformationLength
                   4678:     );
                   4679: 
                   4680: 
                   4681: BOOL
                   4682: WINAPI
                   4683: AdjustTokenPrivileges (
                   4684:     HANDLE TokenHandle,
                   4685:     BOOL DisableAllPrivileges,
                   4686:     PTOKEN_PRIVILEGES NewState,
                   4687:     DWORD BufferLength,
                   4688:     PTOKEN_PRIVILEGES PreviousState,
                   4689:     PDWORD ReturnLength
                   4690:     );
                   4691: 
                   4692: 
                   4693: BOOL
                   4694: WINAPI
                   4695: AdjustTokenGroups (
                   4696:     HANDLE TokenHandle,
                   4697:     BOOL ResetToDefault,
                   4698:     PTOKEN_GROUPS NewState,
                   4699:     DWORD BufferLength,
                   4700:     PTOKEN_GROUPS PreviousState,
                   4701:     PDWORD ReturnLength
                   4702:     );
                   4703: 
                   4704: 
                   4705: BOOL
                   4706: WINAPI
                   4707: PrivilegeCheck (
                   4708:     HANDLE ClientToken,
                   4709:     PPRIVILEGE_SET RequiredPrivileges,
                   4710:     LPBOOL pfResult
                   4711:     );
                   4712: 
                   4713: 
                   4714: BOOL
                   4715: WINAPI
                   4716: AccessCheckAndAuditAlarmA (
1.1.1.4 ! root     4717:     LPCSTR SubsystemName,
1.1.1.2   root     4718:     LPVOID HandleId,
                   4719:     LPSTR ObjectTypeName,
                   4720:     LPSTR ObjectName,
                   4721:     PSECURITY_DESCRIPTOR SecurityDescriptor,
                   4722:     DWORD DesiredAccess,
                   4723:     PGENERIC_MAPPING GenericMapping,
                   4724:     BOOL ObjectCreation,
                   4725:     LPDWORD GrantedAccess,
                   4726:     LPBOOL AccessStatus,
                   4727:     LPBOOL pfGenerateOnClose
                   4728:     );
                   4729: BOOL
                   4730: WINAPI
                   4731: AccessCheckAndAuditAlarmW (
1.1.1.4 ! root     4732:     LPCWSTR SubsystemName,
1.1.1.2   root     4733:     LPVOID HandleId,
                   4734:     LPWSTR ObjectTypeName,
                   4735:     LPWSTR ObjectName,
                   4736:     PSECURITY_DESCRIPTOR SecurityDescriptor,
                   4737:     DWORD DesiredAccess,
                   4738:     PGENERIC_MAPPING GenericMapping,
                   4739:     BOOL ObjectCreation,
                   4740:     LPDWORD GrantedAccess,
                   4741:     LPBOOL AccessStatus,
                   4742:     LPBOOL pfGenerateOnClose
                   4743:     );
                   4744: #ifdef UNICODE
1.1.1.4 ! root     4745: #define AccessCheckAndAuditAlarm  AccessCheckAndAuditAlarmW
1.1.1.2   root     4746: #else
1.1.1.4 ! root     4747: #define AccessCheckAndAuditAlarm  AccessCheckAndAuditAlarmA
1.1.1.2   root     4748: #endif // !UNICODE
                   4749: 
                   4750: 
                   4751: BOOL
                   4752: WINAPI
                   4753: ObjectOpenAuditAlarmA (
1.1.1.4 ! root     4754:     LPCSTR SubsystemName,
1.1.1.2   root     4755:     LPVOID HandleId,
                   4756:     LPSTR ObjectTypeName,
                   4757:     LPSTR ObjectName,
                   4758:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   4759:     HANDLE ClientToken,
                   4760:     DWORD DesiredAccess,
                   4761:     DWORD GrantedAccess,
                   4762:     PPRIVILEGE_SET Privileges,
                   4763:     BOOL ObjectCreation,
                   4764:     BOOL AccessGranted,
                   4765:     LPBOOL GenerateOnClose
                   4766:     );
                   4767: BOOL
                   4768: WINAPI
                   4769: ObjectOpenAuditAlarmW (
1.1.1.4 ! root     4770:     LPCWSTR SubsystemName,
1.1.1.2   root     4771:     LPVOID HandleId,
                   4772:     LPWSTR ObjectTypeName,
                   4773:     LPWSTR ObjectName,
                   4774:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   4775:     HANDLE ClientToken,
                   4776:     DWORD DesiredAccess,
                   4777:     DWORD GrantedAccess,
                   4778:     PPRIVILEGE_SET Privileges,
                   4779:     BOOL ObjectCreation,
                   4780:     BOOL AccessGranted,
                   4781:     LPBOOL GenerateOnClose
                   4782:     );
                   4783: #ifdef UNICODE
1.1.1.4 ! root     4784: #define ObjectOpenAuditAlarm  ObjectOpenAuditAlarmW
1.1.1.2   root     4785: #else
1.1.1.4 ! root     4786: #define ObjectOpenAuditAlarm  ObjectOpenAuditAlarmA
1.1.1.2   root     4787: #endif // !UNICODE
                   4788: 
                   4789: 
                   4790: BOOL
                   4791: WINAPI
                   4792: ObjectPrivilegeAuditAlarmA (
1.1.1.4 ! root     4793:     LPCSTR SubsystemName,
1.1.1.2   root     4794:     LPVOID HandleId,
                   4795:     HANDLE ClientToken,
                   4796:     DWORD DesiredAccess,
                   4797:     PPRIVILEGE_SET Privileges,
                   4798:     BOOL AccessGranted
                   4799:     );
                   4800: BOOL
                   4801: WINAPI
                   4802: ObjectPrivilegeAuditAlarmW (
1.1.1.4 ! root     4803:     LPCWSTR SubsystemName,
1.1.1.2   root     4804:     LPVOID HandleId,
                   4805:     HANDLE ClientToken,
                   4806:     DWORD DesiredAccess,
                   4807:     PPRIVILEGE_SET Privileges,
                   4808:     BOOL AccessGranted
                   4809:     );
                   4810: #ifdef UNICODE
1.1.1.4 ! root     4811: #define ObjectPrivilegeAuditAlarm  ObjectPrivilegeAuditAlarmW
1.1.1.2   root     4812: #else
1.1.1.4 ! root     4813: #define ObjectPrivilegeAuditAlarm  ObjectPrivilegeAuditAlarmA
1.1.1.2   root     4814: #endif // !UNICODE
                   4815: 
                   4816: 
                   4817: BOOL
                   4818: WINAPI
                   4819: ObjectCloseAuditAlarmA (
1.1.1.4 ! root     4820:     LPCSTR SubsystemName,
1.1.1.2   root     4821:     LPVOID HandleId,
                   4822:     BOOL GenerateOnClose
                   4823:     );
                   4824: BOOL
                   4825: WINAPI
                   4826: ObjectCloseAuditAlarmW (
1.1.1.4 ! root     4827:     LPCWSTR SubsystemName,
1.1.1.2   root     4828:     LPVOID HandleId,
                   4829:     BOOL GenerateOnClose
                   4830:     );
                   4831: #ifdef UNICODE
1.1.1.4 ! root     4832: #define ObjectCloseAuditAlarm  ObjectCloseAuditAlarmW
1.1.1.2   root     4833: #else
1.1.1.4 ! root     4834: #define ObjectCloseAuditAlarm  ObjectCloseAuditAlarmA
1.1.1.2   root     4835: #endif // !UNICODE
                   4836: 
                   4837: 
                   4838: BOOL
                   4839: WINAPI
                   4840: PrivilegedServiceAuditAlarmA (
1.1.1.4 ! root     4841:     LPCSTR SubsystemName,
        !          4842:     LPCSTR ServiceName,
1.1.1.2   root     4843:     HANDLE ClientToken,
                   4844:     PPRIVILEGE_SET Privileges,
                   4845:     BOOL AccessGranted
                   4846:     );
                   4847: BOOL
                   4848: WINAPI
                   4849: PrivilegedServiceAuditAlarmW (
1.1.1.4 ! root     4850:     LPCWSTR SubsystemName,
        !          4851:     LPCWSTR ServiceName,
1.1.1.2   root     4852:     HANDLE ClientToken,
                   4853:     PPRIVILEGE_SET Privileges,
                   4854:     BOOL AccessGranted
                   4855:     );
                   4856: #ifdef UNICODE
1.1.1.4 ! root     4857: #define PrivilegedServiceAuditAlarm  PrivilegedServiceAuditAlarmW
1.1.1.2   root     4858: #else
1.1.1.4 ! root     4859: #define PrivilegedServiceAuditAlarm  PrivilegedServiceAuditAlarmA
1.1.1.2   root     4860: #endif // !UNICODE
                   4861: 
                   4862: 
                   4863: BOOL
                   4864: WINAPI
                   4865: IsValidSid (
                   4866:     PSID pSid
                   4867:     );
                   4868: 
                   4869: 
                   4870: BOOL
                   4871: WINAPI
                   4872: EqualSid (
                   4873:     PSID pSid1,
                   4874:     PSID pSid2
                   4875:     );
                   4876: 
                   4877: 
                   4878: BOOL
                   4879: WINAPI
                   4880: EqualPrefixSid (
                   4881:     PSID pSid1,
                   4882:     PSID pSid2
                   4883:     );
                   4884: 
                   4885: 
                   4886: DWORD
                   4887: WINAPI
                   4888: GetSidLengthRequired (
                   4889:     UCHAR nSubAuthorityCount
                   4890:     );
                   4891: 
                   4892: 
                   4893: BOOL
                   4894: WINAPI
                   4895: AllocateAndInitializeSid (
                   4896:     PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
                   4897:     BYTE nSubAuthorityCount,
                   4898:     DWORD nSubAuthority0,
                   4899:     DWORD nSubAuthority1,
                   4900:     DWORD nSubAuthority2,
                   4901:     DWORD nSubAuthority3,
                   4902:     DWORD nSubAuthority4,
                   4903:     DWORD nSubAuthority5,
                   4904:     DWORD nSubAuthority6,
                   4905:     DWORD nSubAuthority7,
                   4906:     PSID *pSid
                   4907:     );
                   4908: 
                   4909: PVOID
                   4910: WINAPI
                   4911: FreeSid(
                   4912:     PSID pSid
                   4913:     );
                   4914: 
                   4915: BOOL
                   4916: WINAPI
                   4917: InitializeSid (
                   4918:     PSID Sid,
                   4919:     PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
                   4920:     BYTE nSubAuthorityCount
                   4921:     );
                   4922: 
                   4923: 
                   4924: PSID_IDENTIFIER_AUTHORITY
                   4925: WINAPI
                   4926: GetSidIdentifierAuthority (
                   4927:     PSID pSid
                   4928:     );
                   4929: 
                   4930: 
                   4931: PDWORD
                   4932: WINAPI
                   4933: GetSidSubAuthority (
                   4934:     PSID pSid,
                   4935:     DWORD nSubAuthority
                   4936:     );
                   4937: 
                   4938: 
                   4939: PUCHAR
                   4940: WINAPI
                   4941: GetSidSubAuthorityCount (
                   4942:     PSID pSid
                   4943:     );
                   4944: 
                   4945: 
                   4946: DWORD
                   4947: WINAPI
                   4948: GetLengthSid (
                   4949:     PSID pSid
                   4950:     );
                   4951: 
                   4952: 
                   4953: BOOL
                   4954: WINAPI
                   4955: CopySid (
                   4956:     DWORD nDestinationSidLength,
                   4957:     PSID pDestinationSid,
                   4958:     PSID pSourceSid
                   4959:     );
                   4960: 
                   4961: 
                   4962: BOOL
                   4963: WINAPI
                   4964: AreAllAccessesGranted (
                   4965:     DWORD GrantedAccess,
                   4966:     DWORD DesiredAccess
                   4967:     );
                   4968: 
                   4969: 
                   4970: BOOL
                   4971: WINAPI
                   4972: AreAnyAccessesGranted (
                   4973:     DWORD GrantedAccess,
                   4974:     DWORD DesiredAccess
                   4975:     );
                   4976: 
                   4977: 
                   4978: VOID
                   4979: WINAPI
                   4980: MapGenericMask (
                   4981:     PDWORD AccessMask,
                   4982:     PGENERIC_MAPPING GenericMapping
                   4983:     );
                   4984: 
                   4985: 
                   4986: BOOL
                   4987: WINAPI
                   4988: IsValidAcl (
                   4989:     PACL pAcl
                   4990:     );
                   4991: 
                   4992: 
                   4993: BOOL
                   4994: WINAPI
                   4995: InitializeAcl (
                   4996:     PACL pAcl,
                   4997:     DWORD nAclLength,
                   4998:     DWORD dwAclRevision
                   4999:     );
                   5000: 
                   5001: 
                   5002: BOOL
                   5003: WINAPI
                   5004: GetAclInformation (
                   5005:     PACL pAcl,
                   5006:     LPVOID pAclInformation,
                   5007:     DWORD nAclInformationLength,
                   5008:     ACL_INFORMATION_CLASS dwAclInformationClass
                   5009:     );
                   5010: 
                   5011: 
                   5012: BOOL
                   5013: WINAPI
                   5014: SetAclInformation (
                   5015:     PACL pAcl,
                   5016:     LPVOID pAclInformation,
                   5017:     DWORD nAclInformationLength,
                   5018:     ACL_INFORMATION_CLASS dwAclInformationClass
                   5019:     );
                   5020: 
                   5021: 
                   5022: BOOL
                   5023: WINAPI
                   5024: AddAce (
                   5025:     PACL pAcl,
                   5026:     DWORD dwAceRevision,
                   5027:     DWORD dwStartingAceIndex,
                   5028:     LPVOID pAceList,
                   5029:     DWORD nAceListLength
                   5030:     );
                   5031: 
                   5032: 
                   5033: BOOL
                   5034: WINAPI
                   5035: DeleteAce (
                   5036:     PACL pAcl,
                   5037:     DWORD dwAceIndex
                   5038:     );
                   5039: 
                   5040: 
                   5041: BOOL
                   5042: WINAPI
                   5043: GetAce (
                   5044:     PACL pAcl,
                   5045:     DWORD dwAceIndex,
                   5046:     LPVOID *pAce
                   5047:     );
                   5048: 
                   5049: 
                   5050: BOOL
                   5051: WINAPI
                   5052: AddAccessAllowedAce (
                   5053:     PACL pAcl,
                   5054:     DWORD dwAceRevision,
                   5055:     DWORD AccessMask,
                   5056:     PSID pSid
                   5057:     );
                   5058: 
                   5059: 
                   5060: BOOL
                   5061: WINAPI
                   5062: AddAccessDeniedAce (
                   5063:     PACL pAcl,
                   5064:     DWORD dwAceRevision,
                   5065:     DWORD AccessMask,
                   5066:     PSID pSid
                   5067:     );
                   5068: 
                   5069: 
                   5070: BOOL
                   5071: WINAPI
                   5072: AddAuditAccessAce(
                   5073:     PACL pAcl,
                   5074:     DWORD dwAceRevision,
                   5075:     DWORD dwAccessMask,
                   5076:     PSID pSid,
                   5077:     BOOL bAuditSuccess,
                   5078:     BOOL bAuditFailure
                   5079:     );
                   5080: 
                   5081: 
                   5082: BOOL
                   5083: WINAPI
                   5084: FindFirstFreeAce (
                   5085:     PACL pAcl,
                   5086:     LPVOID *pAce
                   5087:     );
                   5088: 
                   5089: 
                   5090: BOOL
                   5091: WINAPI
                   5092: InitializeSecurityDescriptor (
                   5093:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5094:     DWORD dwRevision
                   5095:     );
                   5096: 
                   5097: 
                   5098: BOOL
                   5099: WINAPI
                   5100: IsValidSecurityDescriptor (
                   5101:     PSECURITY_DESCRIPTOR pSecurityDescriptor
                   5102:     );
                   5103: 
                   5104: 
                   5105: DWORD
                   5106: WINAPI
                   5107: GetSecurityDescriptorLength (
                   5108:     PSECURITY_DESCRIPTOR pSecurityDescriptor
                   5109:     );
                   5110: 
                   5111: 
                   5112: BOOL
                   5113: WINAPI
                   5114: GetSecurityDescriptorControl (
                   5115:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5116:     PSECURITY_DESCRIPTOR_CONTROL pControl,
                   5117:     LPDWORD lpdwRevision
                   5118:     );
                   5119: 
                   5120: 
                   5121: BOOL
                   5122: WINAPI
                   5123: SetSecurityDescriptorDacl (
                   5124:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5125:     BOOL bDaclPresent,
                   5126:     PACL pDacl,
                   5127:     BOOL bDaclDefaulted
                   5128:     );
                   5129: 
                   5130: 
                   5131: BOOL
                   5132: WINAPI
                   5133: GetSecurityDescriptorDacl (
                   5134:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5135:     LPBOOL lpbDaclPresent,
                   5136:     PACL *pDacl,
                   5137:     LPBOOL lpbDaclDefaulted
                   5138:     );
                   5139: 
                   5140: 
                   5141: BOOL
                   5142: WINAPI
                   5143: SetSecurityDescriptorSacl (
                   5144:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5145:     BOOL bSaclPresent,
                   5146:     PACL pSacl,
                   5147:     BOOL bSaclDefaulted
                   5148:     );
                   5149: 
                   5150: 
                   5151: BOOL
                   5152: WINAPI
                   5153: GetSecurityDescriptorSacl (
                   5154:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5155:     LPBOOL lpbSaclPresent,
                   5156:     PACL *pSacl,
                   5157:     LPBOOL lpbSaclDefaulted
                   5158:     );
                   5159: 
                   5160: 
                   5161: BOOL
                   5162: WINAPI
                   5163: SetSecurityDescriptorOwner (
                   5164:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5165:     PSID pOwner,
                   5166:     BOOL bOwnerDefaulted
                   5167:     );
                   5168: 
                   5169: 
                   5170: BOOL
                   5171: WINAPI
                   5172: GetSecurityDescriptorOwner (
                   5173:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5174:     PSID *pOwner,
                   5175:     LPBOOL lpbOwnerDefaulted
                   5176:     );
                   5177: 
                   5178: 
                   5179: BOOL
                   5180: WINAPI
                   5181: SetSecurityDescriptorGroup (
                   5182:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5183:     PSID pGroup,
                   5184:     BOOL bGroupDefaulted
                   5185:     );
                   5186: 
                   5187: 
                   5188: BOOL
                   5189: WINAPI
                   5190: GetSecurityDescriptorGroup (
                   5191:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5192:     PSID *pGroup,
                   5193:     LPBOOL lpbGroupDefaulted
                   5194:     );
                   5195: 
                   5196: 
                   5197: BOOL
                   5198: WINAPI
                   5199: CreatePrivateObjectSecurity (
                   5200:     PSECURITY_DESCRIPTOR ParentDescriptor,
                   5201:     PSECURITY_DESCRIPTOR CreatorDescriptor,
                   5202:     PSECURITY_DESCRIPTOR * NewDescriptor,
                   5203:     BOOL IsDirectoryObject,
                   5204:     HANDLE Token,
                   5205:     PGENERIC_MAPPING GenericMapping
                   5206:     );
                   5207: 
                   5208: 
                   5209: BOOL
                   5210: WINAPI
                   5211: SetPrivateObjectSecurity (
                   5212:     SECURITY_INFORMATION SecurityInformation,
                   5213:     PSECURITY_DESCRIPTOR ModificationDescriptor,
                   5214:     PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
                   5215:     PGENERIC_MAPPING GenericMapping,
                   5216:     HANDLE Token
                   5217:     );
                   5218: 
                   5219: 
                   5220: BOOL
                   5221: WINAPI
                   5222: GetPrivateObjectSecurity (
                   5223:     PSECURITY_DESCRIPTOR ObjectDescriptor,
                   5224:     SECURITY_INFORMATION SecurityInformation,
                   5225:     PSECURITY_DESCRIPTOR ResultantDescriptor,
                   5226:     DWORD DescriptorLength,
                   5227:     PDWORD ReturnLength
                   5228:     );
                   5229: 
                   5230: 
                   5231: BOOL
                   5232: WINAPI
                   5233: DestroyPrivateObjectSecurity (
                   5234:     PSECURITY_DESCRIPTOR * ObjectDescriptor
                   5235:     );
                   5236: 
                   5237: 
                   5238: BOOL
                   5239: WINAPI
                   5240: MakeSelfRelativeSD (
                   5241:     PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
                   5242:     PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
                   5243:     LPDWORD lpdwBufferLength
                   5244:     );
                   5245: 
                   5246: 
                   5247: BOOL
                   5248: WINAPI
                   5249: MakeAbsoluteSD (
                   5250:     PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
                   5251:     PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
                   5252:     LPDWORD lpdwAbsoluteSecurityDescriptorSize,
                   5253:     PACL pDacl,
                   5254:     LPDWORD lpdwDaclSize,
                   5255:     PACL pSacl,
                   5256:     LPDWORD lpdwSaclSize,
                   5257:     PSID pOwner,
                   5258:     LPDWORD lpdwOwnerSize,
                   5259:     PSID pPrimaryGroup,
                   5260:     LPDWORD lpdwPrimaryGroupSize
                   5261:     );
                   5262: 
                   5263: 
                   5264: BOOL
                   5265: WINAPI
                   5266: SetFileSecurityA (
1.1.1.4 ! root     5267:     LPCSTR lpFileName,
1.1.1.2   root     5268:     SECURITY_INFORMATION SecurityInformation,
                   5269:     PSECURITY_DESCRIPTOR pSecurityDescriptor
                   5270:     );
                   5271: BOOL
                   5272: WINAPI
                   5273: SetFileSecurityW (
1.1.1.4 ! root     5274:     LPCWSTR lpFileName,
1.1.1.2   root     5275:     SECURITY_INFORMATION SecurityInformation,
                   5276:     PSECURITY_DESCRIPTOR pSecurityDescriptor
                   5277:     );
                   5278: #ifdef UNICODE
1.1.1.4 ! root     5279: #define SetFileSecurity  SetFileSecurityW
1.1.1.2   root     5280: #else
1.1.1.4 ! root     5281: #define SetFileSecurity  SetFileSecurityA
1.1.1.2   root     5282: #endif // !UNICODE
                   5283: 
                   5284: 
                   5285: BOOL
                   5286: WINAPI
                   5287: GetFileSecurityA (
1.1.1.4 ! root     5288:     LPCSTR lpFileName,
1.1.1.2   root     5289:     SECURITY_INFORMATION RequestedInformation,
                   5290:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5291:     DWORD nLength,
                   5292:     LPDWORD lpnLengthNeeded
                   5293:     );
                   5294: BOOL
                   5295: WINAPI
                   5296: GetFileSecurityW (
1.1.1.4 ! root     5297:     LPCWSTR lpFileName,
1.1.1.2   root     5298:     SECURITY_INFORMATION RequestedInformation,
                   5299:     PSECURITY_DESCRIPTOR pSecurityDescriptor,
                   5300:     DWORD nLength,
                   5301:     LPDWORD lpnLengthNeeded
                   5302:     );
                   5303: #ifdef UNICODE
1.1.1.4 ! root     5304: #define GetFileSecurity  GetFileSecurityW
1.1.1.2   root     5305: #else
1.1.1.4 ! root     5306: #define GetFileSecurity  GetFileSecurityA
1.1.1.2   root     5307: #endif // !UNICODE
                   5308: 
                   5309: 
                   5310: BOOL
                   5311: WINAPI
                   5312: SetKernelObjectSecurity (
                   5313:     HANDLE Handle,
                   5314:     SECURITY_INFORMATION SecurityInformation,
                   5315:     PSECURITY_DESCRIPTOR SecurityDescriptor
                   5316:     );
                   5317: 
                   5318: 
                   5319: 
                   5320: HANDLE
                   5321: WINAPI
                   5322: FindFirstChangeNotificationA(
1.1.1.4 ! root     5323:     LPCSTR lpPathName,
1.1.1.2   root     5324:     BOOL bWatchSubtree,
                   5325:     DWORD dwNotifyFilter
                   5326:     );
                   5327: HANDLE
                   5328: WINAPI
                   5329: FindFirstChangeNotificationW(
1.1.1.4 ! root     5330:     LPCWSTR lpPathName,
1.1.1.2   root     5331:     BOOL bWatchSubtree,
                   5332:     DWORD dwNotifyFilter
                   5333:     );
                   5334: #ifdef UNICODE
1.1.1.4 ! root     5335: #define FindFirstChangeNotification  FindFirstChangeNotificationW
1.1.1.2   root     5336: #else
1.1.1.4 ! root     5337: #define FindFirstChangeNotification  FindFirstChangeNotificationA
1.1.1.2   root     5338: #endif // !UNICODE
                   5339: BOOL
                   5340: WINAPI
                   5341: FindNextChangeNotification(
                   5342:     HANDLE hChangeHandle
                   5343:     );
                   5344: 
                   5345: BOOL
                   5346: WINAPI
                   5347: FindCloseChangeNotification(
                   5348:     HANDLE hChangeHandle
                   5349:     );
                   5350: 
                   5351: BOOL
                   5352: WINAPI
                   5353: VirtualLock(
                   5354:     LPVOID lpAddress,
                   5355:     DWORD dwSize
                   5356:     );
                   5357: 
                   5358: BOOL
                   5359: WINAPI
                   5360: VirtualUnlock(
                   5361:     LPVOID lpAddress,
                   5362:     DWORD dwSize
                   5363:     );
                   5364: 
                   5365: LPVOID
                   5366: WINAPI
                   5367: MapViewOfFileEx(
                   5368:     HANDLE hFileMappingObject,
                   5369:     DWORD dwDesiredAccess,
                   5370:     DWORD dwFileOffsetHigh,
                   5371:     DWORD dwFileOffsetLow,
                   5372:     DWORD dwNumberOfBytesToMap,
                   5373:     LPVOID lpBaseAddress
                   5374:     );
                   5375: 
                   5376: BOOL
                   5377: WINAPI
                   5378: SetPriorityClass(
                   5379:     HANDLE hProcess,
                   5380:     DWORD dwPriorityClass
                   5381:     );
                   5382: 
                   5383: DWORD
                   5384: WINAPI
                   5385: GetPriorityClass(
                   5386:     HANDLE hProcess
                   5387:     );
                   5388: 
                   5389: BOOL
                   5390: WINAPI
                   5391: IsBadReadPtr(
                   5392:     CONST VOID *lp,
                   5393:     UINT ucb
                   5394:     );
                   5395: 
                   5396: BOOL
                   5397: WINAPI
                   5398: IsBadWritePtr(
                   5399:     LPVOID lp,
                   5400:     UINT ucb
                   5401:     );
                   5402: 
                   5403: BOOL
                   5404: WINAPI
                   5405: IsBadHugeReadPtr(
                   5406:     CONST VOID *lp,
                   5407:     UINT ucb
                   5408:     );
                   5409: 
                   5410: BOOL
                   5411: WINAPI
                   5412: IsBadHugeWritePtr(
                   5413:     LPVOID lp,
                   5414:     UINT ucb
                   5415:     );
                   5416: 
                   5417: BOOL
                   5418: WINAPI
                   5419: IsBadCodePtr(
                   5420:     FARPROC lpfn
                   5421:     );
                   5422: 
                   5423: BOOL
                   5424: WINAPI
                   5425: IsBadStringPtrA(
                   5426:     LPCSTR lpsz,
                   5427:     UINT ucchMax
                   5428:     );
                   5429: BOOL
                   5430: WINAPI
                   5431: IsBadStringPtrW(
                   5432:     LPCWSTR lpsz,
                   5433:     UINT ucchMax
                   5434:     );
                   5435: #ifdef UNICODE
1.1.1.4 ! root     5436: #define IsBadStringPtr  IsBadStringPtrW
1.1.1.2   root     5437: #else
1.1.1.4 ! root     5438: #define IsBadStringPtr  IsBadStringPtrA
1.1.1.2   root     5439: #endif // !UNICODE
                   5440: 
                   5441: BOOL
                   5442: WINAPI
                   5443: LookupAccountSidA(
1.1.1.4 ! root     5444:     LPCSTR lpSystemName,
1.1.1.2   root     5445:     PSID Sid,
                   5446:     LPSTR Name,
                   5447:     LPDWORD cbName,
                   5448:     LPSTR ReferencedDomainName,
                   5449:     LPDWORD cbReferencedDomainName,
                   5450:     PSID_NAME_USE peUse
                   5451:     );
                   5452: BOOL
                   5453: WINAPI
                   5454: LookupAccountSidW(
1.1.1.4 ! root     5455:     LPCWSTR lpSystemName,
1.1.1.2   root     5456:     PSID Sid,
                   5457:     LPWSTR Name,
                   5458:     LPDWORD cbName,
                   5459:     LPWSTR ReferencedDomainName,
                   5460:     LPDWORD cbReferencedDomainName,
                   5461:     PSID_NAME_USE peUse
                   5462:     );
                   5463: #ifdef UNICODE
1.1.1.4 ! root     5464: #define LookupAccountSid  LookupAccountSidW
1.1.1.2   root     5465: #else
1.1.1.4 ! root     5466: #define LookupAccountSid  LookupAccountSidA
1.1.1.2   root     5467: #endif // !UNICODE
                   5468: 
                   5469: BOOL
                   5470: WINAPI
                   5471: LookupAccountNameA(
1.1.1.4 ! root     5472:     LPCSTR lpSystemName,
        !          5473:     LPCSTR lpAccountName,
1.1.1.2   root     5474:     PSID Sid,
                   5475:     LPDWORD cbSid,
                   5476:     LPSTR ReferencedDomainName,
                   5477:     LPDWORD cbReferencedDomainName,
                   5478:     PSID_NAME_USE peUse
                   5479:     );
                   5480: BOOL
                   5481: WINAPI
                   5482: LookupAccountNameW(
1.1.1.4 ! root     5483:     LPCWSTR lpSystemName,
        !          5484:     LPCWSTR lpAccountName,
1.1.1.2   root     5485:     PSID Sid,
                   5486:     LPDWORD cbSid,
                   5487:     LPWSTR ReferencedDomainName,
                   5488:     LPDWORD cbReferencedDomainName,
                   5489:     PSID_NAME_USE peUse
                   5490:     );
                   5491: #ifdef UNICODE
1.1.1.4 ! root     5492: #define LookupAccountName  LookupAccountNameW
1.1.1.2   root     5493: #else
1.1.1.4 ! root     5494: #define LookupAccountName  LookupAccountNameA
1.1.1.2   root     5495: #endif // !UNICODE
                   5496: 
                   5497: BOOL
                   5498: WINAPI
                   5499: LookupPrivilegeValueA(
1.1.1.4 ! root     5500:     LPCSTR lpSystemName,
        !          5501:     LPCSTR lpName,
1.1.1.2   root     5502:     PLUID   lpLuid
                   5503:     );
                   5504: BOOL
                   5505: WINAPI
                   5506: LookupPrivilegeValueW(
1.1.1.4 ! root     5507:     LPCWSTR lpSystemName,
        !          5508:     LPCWSTR lpName,
1.1.1.2   root     5509:     PLUID   lpLuid
                   5510:     );
                   5511: #ifdef UNICODE
1.1.1.4 ! root     5512: #define LookupPrivilegeValue  LookupPrivilegeValueW
1.1.1.2   root     5513: #else
1.1.1.4 ! root     5514: #define LookupPrivilegeValue  LookupPrivilegeValueA
1.1.1.2   root     5515: #endif // !UNICODE
                   5516: 
                   5517: BOOL
                   5518: WINAPI
                   5519: LookupPrivilegeNameA(
1.1.1.4 ! root     5520:     LPCSTR lpSystemName,
1.1.1.2   root     5521:     PLUID   lpLuid,
                   5522:     LPSTR lpName,
                   5523:     LPDWORD cbName
                   5524:     );
                   5525: BOOL
                   5526: WINAPI
                   5527: LookupPrivilegeNameW(
1.1.1.4 ! root     5528:     LPCWSTR lpSystemName,
1.1.1.2   root     5529:     PLUID   lpLuid,
                   5530:     LPWSTR lpName,
                   5531:     LPDWORD cbName
                   5532:     );
                   5533: #ifdef UNICODE
1.1.1.4 ! root     5534: #define LookupPrivilegeName  LookupPrivilegeNameW
1.1.1.2   root     5535: #else
1.1.1.4 ! root     5536: #define LookupPrivilegeName  LookupPrivilegeNameA
1.1.1.2   root     5537: #endif // !UNICODE
                   5538: 
                   5539: BOOL
                   5540: WINAPI
                   5541: LookupPrivilegeDisplayNameA(
1.1.1.4 ! root     5542:     LPCSTR lpSystemName,
        !          5543:     LPCSTR lpName,
1.1.1.2   root     5544:     LPSTR lpDisplayName,
                   5545:     LPDWORD cbDisplayName,
                   5546:     LPDWORD lpLanguageId
                   5547:     );
                   5548: BOOL
                   5549: WINAPI
                   5550: LookupPrivilegeDisplayNameW(
1.1.1.4 ! root     5551:     LPCWSTR lpSystemName,
        !          5552:     LPCWSTR lpName,
1.1.1.2   root     5553:     LPWSTR lpDisplayName,
                   5554:     LPDWORD cbDisplayName,
                   5555:     LPDWORD lpLanguageId
                   5556:     );
                   5557: #ifdef UNICODE
1.1.1.4 ! root     5558: #define LookupPrivilegeDisplayName  LookupPrivilegeDisplayNameW
1.1.1.2   root     5559: #else
1.1.1.4 ! root     5560: #define LookupPrivilegeDisplayName  LookupPrivilegeDisplayNameA
1.1.1.2   root     5561: #endif // !UNICODE
                   5562: 
                   5563: BOOL
                   5564: WINAPI
                   5565: AllocateLocallyUniqueId(
                   5566:     PLUID Luid
                   5567:     );
                   5568: 
                   5569: BOOL
                   5570: WINAPI
                   5571: BuildCommDCBA(
1.1.1.4 ! root     5572:     LPCSTR lpDef,
1.1.1.2   root     5573:     LPDCB lpDCB
                   5574:     );
                   5575: BOOL
                   5576: WINAPI
                   5577: BuildCommDCBW(
1.1.1.4 ! root     5578:     LPCWSTR lpDef,
1.1.1.2   root     5579:     LPDCB lpDCB
                   5580:     );
                   5581: #ifdef UNICODE
1.1.1.4 ! root     5582: #define BuildCommDCB  BuildCommDCBW
1.1.1.2   root     5583: #else
1.1.1.4 ! root     5584: #define BuildCommDCB  BuildCommDCBA
        !          5585: #endif // !UNICODE
        !          5586: 
        !          5587: BOOL
        !          5588: WINAPI
        !          5589: BuildCommDCBAndTimeoutsA(
        !          5590:     LPCSTR lpDef,
        !          5591:     LPDCB lpDCB,
        !          5592:     LPCOMMTIMEOUTS lpCommTimeouts
        !          5593:     );
        !          5594: BOOL
        !          5595: WINAPI
        !          5596: BuildCommDCBAndTimeoutsW(
        !          5597:     LPCWSTR lpDef,
        !          5598:     LPDCB lpDCB,
        !          5599:     LPCOMMTIMEOUTS lpCommTimeouts
        !          5600:     );
        !          5601: #ifdef UNICODE
        !          5602: #define BuildCommDCBAndTimeouts  BuildCommDCBAndTimeoutsW
        !          5603: #else
        !          5604: #define BuildCommDCBAndTimeouts  BuildCommDCBAndTimeoutsA
1.1.1.2   root     5605: #endif // !UNICODE
                   5606: 
1.1.1.3   root     5607: #define MAX_COMPUTERNAME_LENGTH 15
1.1.1.2   root     5608: 
                   5609: BOOL
                   5610: WINAPI
                   5611: GetComputerNameA (
                   5612:     LPSTR lpBuffer,
                   5613:     LPDWORD nSize
                   5614:     );
                   5615: BOOL
                   5616: WINAPI
                   5617: GetComputerNameW (
                   5618:     LPWSTR lpBuffer,
                   5619:     LPDWORD nSize
                   5620:     );
                   5621: #ifdef UNICODE
1.1.1.4 ! root     5622: #define GetComputerName  GetComputerNameW
1.1.1.2   root     5623: #else
1.1.1.4 ! root     5624: #define GetComputerName  GetComputerNameA
1.1.1.2   root     5625: #endif // !UNICODE
                   5626: 
                   5627: BOOL
                   5628: WINAPI
                   5629: SetComputerNameA (
1.1.1.4 ! root     5630:     LPCSTR lpComputerName
1.1.1.2   root     5631:     );
                   5632: BOOL
                   5633: WINAPI
                   5634: SetComputerNameW (
1.1.1.4 ! root     5635:     LPCWSTR lpComputerName
1.1.1.2   root     5636:     );
                   5637: #ifdef UNICODE
1.1.1.4 ! root     5638: #define SetComputerName  SetComputerNameW
1.1.1.2   root     5639: #else
1.1.1.4 ! root     5640: #define SetComputerName  SetComputerNameA
1.1.1.2   root     5641: #endif // !UNICODE
                   5642: 
                   5643: BOOL
                   5644: WINAPI
                   5645: GetUserNameA (
                   5646:     LPSTR lpBuffer,
                   5647:     LPDWORD nSize
                   5648:     );
                   5649: BOOL
                   5650: WINAPI
                   5651: GetUserNameW (
                   5652:     LPWSTR lpBuffer,
                   5653:     LPDWORD nSize
                   5654:     );
                   5655: #ifdef UNICODE
1.1.1.4 ! root     5656: #define GetUserName  GetUserNameW
1.1.1.2   root     5657: #else
1.1.1.4 ! root     5658: #define GetUserName  GetUserNameA
1.1.1.2   root     5659: #endif // !UNICODE
                   5660: 
                   5661: //
                   5662: // Performance counter API's
                   5663: //
                   5664: 
                   5665: BOOL
                   5666: WINAPI
                   5667: QueryPerformanceCounter(
                   5668:     LARGE_INTEGER *lpPerformanceCount
                   5669:     );
                   5670: 
                   5671: BOOL
                   5672: WINAPI
                   5673: QueryPerformanceFrequency(
                   5674:     LARGE_INTEGER *lpFrequency
                   5675:     );
                   5676: 
                   5677: 
1.1       root     5678: // DOS and OS/2 Compatible Error Code definitions returned by the Win32 Base
                   5679: // API functions.
                   5680: //
                   5681: 
                   5682: #include <winerror.h>
                   5683: 
                   5684: /* Abnormal termination codes */
                   5685: 
                   5686: #define TC_NORMAL       0
                   5687: #define TC_HARDERR      1
                   5688: #define TC_GP_TRAP      2
                   5689: #define TC_SIGNAL       3
                   5690: 
1.1.1.3   root     5691: #ifdef __cplusplus
                   5692: }
                   5693: #endif
                   5694: 
1.1       root     5695: #endif // _WINBASE_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.