|
|
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_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.