📄 winbase.h
字号:
#ifndef WINE_WINBASE_H#define WINE_WINBASE_H#include "basetsd.h"#include "winnt.h"#include "winestring.h"#include "pshpack1.h"#ifdef __cplusplusextern "C" {#endiftypedef struct tagCOORD { INT16 x; INT16 y;} COORD, *LPCOORD; /* Windows Exit Procedure flag values */#define WEP_FREE_DLL 0#define WEP_SYSTEM_EXIT 1typedef DWORD CALLBACK (*LPTHREAD_START_ROUTINE)(LPVOID);#define EXCEPTION_DEBUG_EVENT 1#define CREATE_THREAD_DEBUG_EVENT 2#define CREATE_PROCESS_DEBUG_EVENT 3#define EXIT_THREAD_DEBUG_EVENT 4#define EXIT_PROCESS_DEBUG_EVENT 5#define LOAD_DLL_DEBUG_EVENT 6#define UNLOAD_DLL_DEBUG_EVENT 7#define OUTPUT_DEBUG_STRING_EVENT 8#define RIP_EVENT 9typedef struct _EXCEPTION_DEBUG_INFO { EXCEPTION_RECORD ExceptionRecord; DWORD dwFirstChance;} EXCEPTION_DEBUG_INFO;typedef struct _CREATE_THREAD_DEBUG_INFO { HANDLE hThread; LPVOID lpThreadLocalBase; LPTHREAD_START_ROUTINE lpStartAddress;} CREATE_THREAD_DEBUG_INFO;typedef struct _CREATE_PROCESS_DEBUG_INFO { HANDLE hFile; HANDLE hProcess; HANDLE hThread; LPVOID lpBaseOfImage; DWORD dwDebugInfoFileOffset; DWORD nDebugInfoSize; LPVOID lpThreadLocalBase; LPTHREAD_START_ROUTINE lpStartAddress; LPVOID lpImageName; WORD fUnicode;} CREATE_PROCESS_DEBUG_INFO;typedef struct _EXIT_THREAD_DEBUG_INFO { DWORD dwExitCode;} EXIT_THREAD_DEBUG_INFO;typedef struct _EXIT_PROCESS_DEBUG_INFO { DWORD dwExitCode;} EXIT_PROCESS_DEBUG_INFO;typedef struct _LOAD_DLL_DEBUG_INFO { HANDLE hFile; LPVOID lpBaseOfDll; DWORD dwDebugInfoFileOffset; DWORD nDebugInfoSize; LPVOID lpImageName; WORD fUnicode;} LOAD_DLL_DEBUG_INFO;typedef struct _UNLOAD_DLL_DEBUG_INFO { LPVOID lpBaseOfDll;} UNLOAD_DLL_DEBUG_INFO;typedef struct _OUTPUT_DEBUG_STRING_INFO { LPSTR lpDebugStringData; WORD fUnicode; WORD nDebugStringLength;} OUTPUT_DEBUG_STRING_INFO;typedef struct _RIP_INFO { DWORD dwError; DWORD dwType;} RIP_INFO;typedef struct _DEBUG_EVENT { DWORD dwDebugEventCode; DWORD dwProcessId; DWORD dwThreadId; union { EXCEPTION_DEBUG_INFO Exception; CREATE_THREAD_DEBUG_INFO CreateThread; CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; EXIT_THREAD_DEBUG_INFO ExitThread; EXIT_PROCESS_DEBUG_INFO ExitProcess; LOAD_DLL_DEBUG_INFO LoadDll; UNLOAD_DLL_DEBUG_INFO UnloadDll; OUTPUT_DEBUG_STRING_INFO DebugString; RIP_INFO RipInfo; } u;} DEBUG_EVENT, *LPDEBUG_EVENT;#define OFS_MAXPATHNAME 128typedef struct{ BYTE cBytes; BYTE fFixedDisk; WORD nErrCode; BYTE reserved[4]; BYTE szPathName[OFS_MAXPATHNAME];} OFSTRUCT, *LPOFSTRUCT;#define OF_READ 0x0000#define OF_WRITE 0x0001#define OF_READWRITE 0x0002#define OF_SHARE_COMPAT 0x0000#define OF_SHARE_EXCLUSIVE 0x0010#define OF_SHARE_DENY_WRITE 0x0020#define OF_SHARE_DENY_READ 0x0030#define OF_SHARE_DENY_NONE 0x0040#define OF_PARSE 0x0100#define OF_DELETE 0x0200#define OF_VERIFY 0x0400 /* Used with OF_REOPEN */#define OF_SEARCH 0x0400 /* Used without OF_REOPEN */#define OF_CANCEL 0x0800#define OF_CREATE 0x1000#define OF_PROMPT 0x2000#define OF_EXIST 0x4000#define OF_REOPEN 0x8000/* SetErrorMode values */#define SEM_FAILCRITICALERRORS 0x0001#define SEM_NOGPFAULTERRORBOX 0x0002#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004#define SEM_NOOPENFILEERRORBOX 0x8000/* CopyFileEx flags */#define COPY_FILE_FAIL_IF_EXISTS 0x00000001#define COPY_FILE_RESTARTABLE 0x00000002#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004/* GetTempFileName() Flags */#define TF_FORCEDRIVE 0x80#define DRIVE_CANNOTDETERMINE 0#define DRIVE_DOESNOTEXIST 1#define DRIVE_REMOVABLE 2#define DRIVE_FIXED 3#define DRIVE_REMOTE 4/* Win32 additions */#define DRIVE_CDROM 5#define DRIVE_RAMDISK 6/* The security attributes structure */typedef struct _SECURITY_ATTRIBUTES{ DWORD nLength; LPVOID lpSecurityDescriptor; WIN_BOOL bInheritHandle;} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;#ifndef _FILETIME_#define _FILETIME_/* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */typedef struct{ DWORD dwLowDateTime; DWORD dwHighDateTime;} FILETIME, *LPFILETIME;#endif /* _FILETIME_ *//* Find* structures */typedef struct{ DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; CHAR cFileName[260]; CHAR cAlternateFileName[14];} WIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;typedef struct{ DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; WCHAR cFileName[260]; WCHAR cAlternateFileName[14];} WIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)typedef struct{ LPVOID lpData; DWORD cbData; BYTE cbOverhead; BYTE iRegionIndex; WORD wFlags; union { struct { HANDLE hMem; DWORD dwReserved[3]; } Block; struct { DWORD dwCommittedSize; DWORD dwUnCommittedSize; LPVOID lpFirstBlock; LPVOID lpLastBlock; } Region; } Foo;} PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY;#define PROCESS_HEAP_REGION 0x0001#define PROCESS_HEAP_UNCOMMITTED_RANGE 0x0002#define PROCESS_HEAP_ENTRY_BUSY 0x0004#define PROCESS_HEAP_ENTRY_MOVEABLE 0x0010#define PROCESS_HEAP_ENTRY_DDESHARE 0x0020#define INVALID_HANDLE_VALUE16 ((HANDLE16) -1)#define INVALID_HANDLE_VALUE ((HANDLE) -1)#define TLS_OUT_OF_INDEXES ((DWORD)0xFFFFFFFF)/* comm */#define CBR_110 0xFF10#define CBR_300 0xFF11#define CBR_600 0xFF12#define CBR_1200 0xFF13#define CBR_2400 0xFF14#define CBR_4800 0xFF15#define CBR_9600 0xFF16#define CBR_14400 0xFF17#define CBR_19200 0xFF18#define CBR_38400 0xFF1B#define CBR_56000 0xFF1F#define CBR_128000 0xFF23#define CBR_256000 0xFF27#define NOPARITY 0#define ODDPARITY 1#define EVENPARITY 2#define MARKPARITY 3#define SPACEPARITY 4#define ONESTOPBIT 0#define ONE5STOPBITS 1#define TWOSTOPBITS 2#define IGNORE 0#define INFINITE16 0xFFFF#define INFINITE 0xFFFFFFFF#define CE_RXOVER 0x0001#define CE_OVERRUN 0x0002#define CE_RXPARITY 0x0004#define CE_FRAME 0x0008#define CE_BREAK 0x0010#define CE_CTSTO 0x0020#define CE_DSRTO 0x0040#define CE_RLSDTO 0x0080#define CE_TXFULL 0x0100#define CE_PTO 0x0200#define CE_IOE 0x0400#define CE_DNS 0x0800#define CE_OOP 0x1000#define CE_MODE 0x8000#define IE_BADID -1#define IE_OPEN -2#define IE_NOPEN -3#define IE_MEMORY -4#define IE_DEFAULT -5#define IE_HARDWARE -10#define IE_BYTESIZE -11#define IE_BAUDRATE -12#define EV_RXCHAR 0x0001#define EV_RXFLAG 0x0002#define EV_TXEMPTY 0x0004#define EV_CTS 0x0008#define EV_DSR 0x0010#define EV_RLSD 0x0020#define EV_BREAK 0x0040#define EV_ERR 0x0080#define EV_RING 0x0100#define EV_PERR 0x0200#define EV_CTSS 0x0400#define EV_DSRS 0x0800#define EV_RLSDS 0x1000#define EV_RINGTE 0x2000#define EV_RingTe EV_RINGTE#define SETXOFF 1#define SETXON 2#define SETRTS 3#define CLRRTS 4#define SETDTR 5#define CLRDTR 6#define RESETDEV 7#define SETBREAK 8#define CLRBREAK 9#define GETBASEIRQ 10/* Purge functions for Comm Port */#define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the comm port */#define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to the comm port */#define PURGE_TXCLEAR 0x0004 /* Kill the transmit queue if there*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -