📄 winnt.h
字号:
#ifndef _WINNT_H#define _WINNT_H#if __GNUC__ >= 3#pragma GCC system_header#endif/* translate GCC target defines to MS equivalents. Keep this synchronized with windows.h. */#if defined(__i686__) && !defined(_M_IX86)#define _M_IX86 600#elif defined(__i586__) && !defined(_M_IX86)#define _M_IX86 500#elif defined(__i486__) && !defined(_M_IX86)#define _M_IX86 400#elif defined(__i386__) && !defined(_M_IX86)#define _M_IX86 300#endif#if defined(_M_IX86) && !defined(_X86_)#define _X86_#elif defined(_M_ALPHA) && !defined(_ALPHA_)#define _ALPHA_#elif defined(_M_PPC) && !defined(_PPC_)#define _PPC_#elif defined(_M_MRX000) && !defined(_MIPS_)#define _MIPS_#elif defined(_M_M68K) && !defined(_68K_)#define _68K_#endif#ifdef __cplusplusextern "C" {#endif#include <winerror.h>#ifndef RC_INVOKED#include <string.h>/* FIXME: add more architectures. Is there a way to specify this in GCC? */#ifdef _X86_#define UNALIGNED#else#define UNALIGNED#endif#ifndef DECLSPEC_ALIGN#ifdef __GNUC__#define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))#else#define DECLSPEC_ALIGN(x)#endif#endif#ifndef DECLSPEC_SELECTANY#if (__GNUC__ >= 4)#define DECLSPEC_SELECTANY __attribute__((selectany))#else#define DECLSPEC_SELECTANY#endif#endif#ifndef FORCEINLINE#if (__GNUC__ >= 3)#define FORCEINLINE __inline __attribute__((always_inline))#else#define FORCEINLINE __inline#endif#endif#ifndef C_ASSERT#define C_ASSERT(expr) typedef char __C_ASSERT__[(expr)?1:-1]#endif#ifndef VOID#define VOID void#endiftypedef char CHAR;typedef short SHORT;typedef long LONG;typedef char CCHAR, *PCCHAR;typedef unsigned char UCHAR,*PUCHAR;typedef unsigned short USHORT,*PUSHORT;typedef unsigned long ULONG,*PULONG;typedef char *PSZ;typedef void *PVOID,*LPVOID;/* FIXME for __WIN64 */#ifndef __ptr64#define __ptr64#endiftypedef void* __ptr64 PVOID64;#ifndef _WCHAR_T_DEFINED#define _WCHAR_T_DEFINED#ifndef _WCHAR_T_#define _WCHAR_T_#undef __need_wchar_t#ifndef __cplusplustypedef unsigned short wchar_t;#endif#endif#endiftypedef wchar_t WCHAR;typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR;typedef CONST WCHAR *LPCWCH,*PCWCH,*LPCWSTR,*PCWSTR;typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR;typedef CONST CHAR *LPCCH,*PCSTR,*LPCSTR;#ifndef _TCHAR_DEFINED#define _TCHAR_DEFINED#ifdef UNICODE/* * NOTE: This tests UNICODE, which is different from the _UNICODE define * used to differentiate standard C runtime calls. */typedef WCHAR TCHAR;typedef WCHAR _TCHAR;#elsetypedef CHAR TCHAR;typedef CHAR _TCHAR;#endif#endiftypedef TCHAR TBYTE,*PTCH,*PTBYTE;typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;typedef const TCHAR *LPCTSTR;#ifdef UNICODE/* * __TEXT is a private macro whose specific use is to force the expansion of a * macro passed as an argument to the macro TEXT. DO NOT use this * macro within your programs. It's name and function could change without * notice. */#define __TEXT(q) L##q#else#define __TEXT(q) q#endif/* * UNICODE a constant string when UNICODE is defined, else returns the string * unmodified. * The corresponding macros _TEXT() and _T() for mapping _UNICODE strings * passed to C runtime functions are defined in mingw/tchar.h */#define TEXT(q) __TEXT(q) typedef SHORT *PSHORT;typedef LONG *PLONG;#ifdef STRICTtypedef void *HANDLE;#define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n#elsetypedef PVOID HANDLE;#define DECLARE_HANDLE(n) typedef HANDLE n#endiftypedef HANDLE *PHANDLE,*LPHANDLE;typedef DWORD LCID;typedef PDWORD PLCID;typedef WORD LANGID;#ifdef __GNUC__#define _HAVE_INT64#define _INTEGRAL_MAX_BITS 64#undef __int64#define __int64 long long#elif defined(__WATCOMC__) && (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64 )#define _HAVE_INT64#endif /* __GNUC__/__WATCOMC */#if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)typedef __int64 LONGLONG;typedef unsigned __int64 DWORDLONG;#elsetypedef double LONGLONG,DWORDLONG;#endiftypedef LONGLONG *PLONGLONG;typedef DWORDLONG *PDWORDLONG;typedef DWORDLONG ULONGLONG,*PULONGLONG;typedef LONGLONG USN;#ifdef _HAVE_INT64#define Int32x32To64(a,b) ((LONGLONG)(a)*(LONGLONG)(b))#define UInt32x32To64(a,b) ((DWORDLONG)(a)*(DWORDLONG)(b))#define Int64ShllMod32(a,b) ((DWORDLONG)(a)<<(b))#define Int64ShraMod32(a,b) ((LONGLONG)(a)>>(b))#define Int64ShrlMod32(a,b) ((DWORDLONG)(a)>>(b))#endif#define ANSI_NULL '\0'#define UNICODE_NULL L'\0'typedef BYTE BOOLEAN,*PBOOLEAN;#endiftypedef BYTE FCHAR;typedef WORD FSHORT;typedef DWORD FLONG;#define NTAPI __stdcall#include <basetsd.h>#define ACE_OBJECT_TYPE_PRESENT 0x00000001#define ACE_INHERITED_OBJECT_TYPE_PRESENT 0x00000002#define APPLICATION_ERROR_MASK 0x20000000#define ERROR_SEVERITY_SUCCESS 0x00000000#define ERROR_SEVERITY_INFORMATIONAL 0x40000000#define ERROR_SEVERITY_WARNING 0x80000000#define ERROR_SEVERITY_ERROR 0xC0000000/* also in ddk/ntifs.h */#define COMPRESSION_FORMAT_NONE (0x0000)#define COMPRESSION_FORMAT_DEFAULT (0x0001)#define COMPRESSION_FORMAT_LZNT1 (0x0002)#define COMPRESSION_ENGINE_STANDARD (0x0000)#define COMPRESSION_ENGINE_MAXIMUM (0x0100)#define COMPRESSION_ENGINE_HIBER (0x0200)#define ACCESS_ALLOWED_ACE_TYPE (0x0)#define ACCESS_DENIED_ACE_TYPE (0x1)#define SYSTEM_AUDIT_ACE_TYPE (0x2)#define SYSTEM_ALARM_ACE_TYPE (0x3)/*end ntifs.h */#define ANYSIZE_ARRAY 1#define OBJECT_INHERIT_ACE 1#define CONTAINER_INHERIT_ACE 2#define NO_PROPAGATE_INHERIT_ACE 4#define INHERIT_ONLY_ACE 8#define INHERITED_ACE 16#define VALID_INHERIT_FLAGS \ | OBJECT_INHERIT_ACE \ | CONTAINER_INHERIT_ACE \ | NO_PROPAGATE_INHERIT_ACE \ | INHERIT_ONLY_ACE \ | INHERITED_ACE#define SUCCESSFUL_ACCESS_ACE_FLAG 64#define FAILED_ACCESS_ACE_FLAG 128#define DELETE 0x00010000L#define READ_CONTROL 0x20000L#define WRITE_DAC 0x40000L#define WRITE_OWNER 0x80000L#define SYNCHRONIZE 0x100000L#define STANDARD_RIGHTS_REQUIRED 0xF0000#define STANDARD_RIGHTS_READ 0x20000#define STANDARD_RIGHTS_WRITE 0x20000#define STANDARD_RIGHTS_EXECUTE 0x20000#define STANDARD_RIGHTS_ALL 0x1F0000#define SPECIFIC_RIGHTS_ALL 0xFFFF#define ACCESS_SYSTEM_SECURITY 0x1000000#define MAXIMUM_ALLOWED 0x2000000#define GENERIC_READ 0x80000000#define GENERIC_WRITE 0x40000000#define GENERIC_EXECUTE 0x20000000#define GENERIC_ALL 0x10000000#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)/* Also in ddk/winddk.h */#define FILE_LIST_DIRECTORY 0x00000001#define FILE_READ_DATA 0x00000001#define FILE_ADD_FILE 0x00000002#define FILE_WRITE_DATA 0x00000002#define FILE_ADD_SUBDIRECTORY 0x00000004#define FILE_APPEND_DATA 0x00000004#define FILE_CREATE_PIPE_INSTANCE 0x00000004#define FILE_READ_EA 0x00000008#define FILE_READ_PROPERTIES 0x00000008#define FILE_WRITE_EA 0x00000010#define FILE_WRITE_PROPERTIES 0x00000010#define FILE_EXECUTE 0x00000020#define FILE_TRAVERSE 0x00000020#define FILE_DELETE_CHILD 0x00000040#define FILE_READ_ATTRIBUTES 0x00000080#define FILE_WRITE_ATTRIBUTES 0x00000100#define FILE_SHARE_READ 0x00000001#define FILE_SHARE_WRITE 0x00000002#define FILE_SHARE_DELETE 0x00000004#define FILE_SHARE_VALID_FLAGS 0x00000007 #define FILE_ATTRIBUTE_READONLY 0x00000001#define FILE_ATTRIBUTE_HIDDEN 0x00000002#define FILE_ATTRIBUTE_SYSTEM 0x00000004#define FILE_ATTRIBUTE_DIRECTORY 0x00000010#define FILE_ATTRIBUTE_ARCHIVE 0x00000020#define FILE_ATTRIBUTE_DEVICE 0x00000040#define FILE_ATTRIBUTE_NORMAL 0x00000080#define FILE_ATTRIBUTE_TEMPORARY 0x00000100#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400#define FILE_ATTRIBUTE_COMPRESSED 0x00000800#define FILE_ATTRIBUTE_OFFLINE 0x00001000#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000#define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7 #define FILE_COPY_STRUCTURED_STORAGE 0x00000041#define FILE_STRUCTURED_STORAGE 0x00000441 #define FILE_VALID_OPTION_FLAGS 0x00ffffff#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032#define FILE_VALID_SET_FLAGS 0x00000036 #define FILE_SUPERSEDE 0x00000000#define FILE_OPEN 0x00000001#define FILE_CREATE 0x00000002#define FILE_OPEN_IF 0x00000003#define FILE_OVERWRITE 0x00000004#define FILE_OVERWRITE_IF 0x00000005#define FILE_MAXIMUM_DISPOSITION 0x00000005 #define FILE_DIRECTORY_FILE 0x00000001#define FILE_WRITE_THROUGH 0x00000002#define FILE_SEQUENTIAL_ONLY 0x00000004#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020#define FILE_NON_DIRECTORY_FILE 0x00000040#define FILE_CREATE_TREE_CONNECTION 0x00000080#define FILE_COMPLETE_IF_OPLOCKED 0x00000100#define FILE_NO_EA_KNOWLEDGE 0x00000200#define FILE_OPEN_FOR_RECOVERY 0x00000400#define FILE_RANDOM_ACCESS 0x00000800#define FILE_DELETE_ON_CLOSE 0x00001000#define FILE_OPEN_BY_FILE_ID 0x00002000#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000#define FILE_NO_COMPRESSION 0x00008000#define FILE_RESERVE_OPFILTER 0x00100000#define FILE_OPEN_REPARSE_POINT 0x00200000#define FILE_OPEN_NO_RECALL 0x00400000#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000#define FILE_ALL_ACCESS \ (STANDARD_RIGHTS_REQUIRED | \ SYNCHRONIZE | \ 0x1FF)#define FILE_GENERIC_EXECUTE \ (STANDARD_RIGHTS_EXECUTE | \ FILE_READ_ATTRIBUTES | \ FILE_EXECUTE | \ SYNCHRONIZE)#define FILE_GENERIC_READ \ (STANDARD_RIGHTS_READ | \ FILE_READ_DATA | \ FILE_READ_ATTRIBUTES | \ FILE_READ_EA | \ SYNCHRONIZE)#define FILE_GENERIC_WRITE \ (STANDARD_RIGHTS_WRITE | \ FILE_WRITE_DATA | \ FILE_WRITE_ATTRIBUTES | \ FILE_WRITE_EA | \ FILE_APPEND_DATA | \ SYNCHRONIZE)/* end winddk.h *//* also in ddk/ntifs.h */#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002#define FILE_NOTIFY_CHANGE_NAME 0x00000003#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004#define FILE_NOTIFY_CHANGE_SIZE 0x00000008#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020#define FILE_NOTIFY_CHANGE_CREATION 0x00000040#define FILE_NOTIFY_CHANGE_EA 0x00000080#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800#define FILE_NOTIFY_VALID_MASK 0x00000fff#define FILE_CASE_SENSITIVE_SEARCH 0x00000001#define FILE_CASE_PRESERVED_NAMES 0x00000002#define FILE_UNICODE_ON_DISK 0x00000004#define FILE_PERSISTENT_ACLS 0x00000008
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -