⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winnt.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 5 页
字号:
#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 + -