📄 winnt.h
字号:
#define IMAGE_REL_BASED_MIPS_JMPADDR16 9#define IMAGE_REL_BASED_IA64_IMM64 9 /* yes, 9 too */#define IMAGE_REL_BASED_DIR64 10#define IMAGE_REL_BASED_HIGH3ADJ 11/* I386 relocation types */#define IMAGE_REL_I386_ABSOLUTE 0#define IMAGE_REL_I386_DIR16 1#define IMAGE_REL_I386_REL16 2#define IMAGE_REL_I386_DIR32 6#define IMAGE_REL_I386_DIR32NB 7#define IMAGE_REL_I386_SEG12 9#define IMAGE_REL_I386_SECTION 10#define IMAGE_REL_I386_SECREL 11#define IMAGE_REL_I386_REL32 20/* MIPS relocation types */#define IMAGE_REL_MIPS_ABSOLUTE 0x0000#define IMAGE_REL_MIPS_REFHALF 0x0001#define IMAGE_REL_MIPS_REFWORD 0x0002#define IMAGE_REL_MIPS_JMPADDR 0x0003#define IMAGE_REL_MIPS_REFHI 0x0004#define IMAGE_REL_MIPS_REFLO 0x0005#define IMAGE_REL_MIPS_GPREL 0x0006#define IMAGE_REL_MIPS_LITERAL 0x0007#define IMAGE_REL_MIPS_SECTION 0x000A#define IMAGE_REL_MIPS_SECREL 0x000B#define IMAGE_REL_MIPS_SECRELLO 0x000C#define IMAGE_REL_MIPS_SECRELHI 0x000D#define IMAGE_REL_MIPS_JMPADDR16 0x0010#define IMAGE_REL_MIPS_REFWORDNB 0x0022#define IMAGE_REL_MIPS_PAIR 0x0025/* ALPHA relocation types */#define IMAGE_REL_ALPHA_ABSOLUTE 0x0000#define IMAGE_REL_ALPHA_REFLONG 0x0001#define IMAGE_REL_ALPHA_REFQUAD 0x0002#define IMAGE_REL_ALPHA_GPREL 0x0003#define IMAGE_REL_ALPHA_LITERAL 0x0004#define IMAGE_REL_ALPHA_LITUSE 0x0005#define IMAGE_REL_ALPHA_GPDISP 0x0006#define IMAGE_REL_ALPHA_BRADDR 0x0007#define IMAGE_REL_ALPHA_HINT 0x0008#define IMAGE_REL_ALPHA_INLINE_REFLONG 0x0009#define IMAGE_REL_ALPHA_REFHI 0x000A#define IMAGE_REL_ALPHA_REFLO 0x000B#define IMAGE_REL_ALPHA_PAIR 0x000C#define IMAGE_REL_ALPHA_MATCH 0x000D#define IMAGE_REL_ALPHA_SECTION 0x000E#define IMAGE_REL_ALPHA_SECREL 0x000F#define IMAGE_REL_ALPHA_REFLONGNB 0x0010#define IMAGE_REL_ALPHA_SECRELLO 0x0011#define IMAGE_REL_ALPHA_SECRELHI 0x0012#define IMAGE_REL_ALPHA_REFQ3 0x0013#define IMAGE_REL_ALPHA_REFQ2 0x0014#define IMAGE_REL_ALPHA_REFQ1 0x0015#define IMAGE_REL_ALPHA_GPRELLO 0x0016#define IMAGE_REL_ALPHA_GPRELHI 0x0017/* PowerPC relocation types */#define IMAGE_REL_PPC_ABSOLUTE 0x0000#define IMAGE_REL_PPC_ADDR64 0x0001#define IMAGE_REL_PPC_ADDR 0x0002#define IMAGE_REL_PPC_ADDR24 0x0003#define IMAGE_REL_PPC_ADDR16 0x0004#define IMAGE_REL_PPC_ADDR14 0x0005#define IMAGE_REL_PPC_REL24 0x0006#define IMAGE_REL_PPC_REL14 0x0007#define IMAGE_REL_PPC_TOCREL16 0x0008#define IMAGE_REL_PPC_TOCREL14 0x0009#define IMAGE_REL_PPC_ADDR32NB 0x000A#define IMAGE_REL_PPC_SECREL 0x000B#define IMAGE_REL_PPC_SECTION 0x000C#define IMAGE_REL_PPC_IFGLUE 0x000D#define IMAGE_REL_PPC_IMGLUE 0x000E#define IMAGE_REL_PPC_SECREL16 0x000F#define IMAGE_REL_PPC_REFHI 0x0010#define IMAGE_REL_PPC_REFLO 0x0011#define IMAGE_REL_PPC_PAIR 0x0012#define IMAGE_REL_PPC_SECRELLO 0x0013#define IMAGE_REL_PPC_SECRELHI 0x0014#define IMAGE_REL_PPC_GPREL 0x0015#define IMAGE_REL_PPC_TYPEMASK 0x00FF/* modifier bits */#define IMAGE_REL_PPC_NEG 0x0100#define IMAGE_REL_PPC_BRTAKEN 0x0200#define IMAGE_REL_PPC_BRNTAKEN 0x0400#define IMAGE_REL_PPC_TOCDEFN 0x0800/* SH3 ? relocation type */#define IMAGE_REL_SH3_ABSOLUTE 0x0000#define IMAGE_REL_SH3_DIRECT16 0x0001#define IMAGE_REL_SH3_DIRECT 0x0002#define IMAGE_REL_SH3_DIRECT8 0x0003#define IMAGE_REL_SH3_DIRECT8_WORD 0x0004#define IMAGE_REL_SH3_DIRECT8_LONG 0x0005#define IMAGE_REL_SH3_DIRECT4 0x0006#define IMAGE_REL_SH3_DIRECT4_WORD 0x0007#define IMAGE_REL_SH3_DIRECT4_LONG 0x0008#define IMAGE_REL_SH3_PCREL8_WORD 0x0009#define IMAGE_REL_SH3_PCREL8_LONG 0x000A#define IMAGE_REL_SH3_PCREL12_WORD 0x000B#define IMAGE_REL_SH3_STARTOF_SECTION 0x000C#define IMAGE_REL_SH3_SIZEOF_SECTION 0x000D#define IMAGE_REL_SH3_SECTION 0x000E#define IMAGE_REL_SH3_SECREL 0x000F#define IMAGE_REL_SH3_DIRECT32_NB 0x0010/* ARM (Archimedes?) relocation types */#define IMAGE_REL_ARM_ABSOLUTE 0x0000#define IMAGE_REL_ARM_ADDR 0x0001#define IMAGE_REL_ARM_ADDR32NB 0x0002#define IMAGE_REL_ARM_BRANCH24 0x0003#define IMAGE_REL_ARM_BRANCH11 0x0004#define IMAGE_REL_ARM_SECTION 0x000E#define IMAGE_REL_ARM_SECREL 0x000F/* IA64 relocation types */#define IMAGE_REL_IA64_ABSOLUTE 0x0000#define IMAGE_REL_IA64_IMM14 0x0001#define IMAGE_REL_IA64_IMM22 0x0002#define IMAGE_REL_IA64_IMM64 0x0003#define IMAGE_REL_IA64_DIR 0x0004#define IMAGE_REL_IA64_DIR64 0x0005#define IMAGE_REL_IA64_PCREL21B 0x0006#define IMAGE_REL_IA64_PCREL21M 0x0007#define IMAGE_REL_IA64_PCREL21F 0x0008#define IMAGE_REL_IA64_GPREL22 0x0009#define IMAGE_REL_IA64_LTOFF22 0x000A#define IMAGE_REL_IA64_SECTION 0x000B#define IMAGE_REL_IA64_SECREL22 0x000C#define IMAGE_REL_IA64_SECREL64I 0x000D#define IMAGE_REL_IA64_SECREL 0x000E#define IMAGE_REL_IA64_LTOFF64 0x000F#define IMAGE_REL_IA64_DIR32NB 0x0010#define IMAGE_REL_IA64_RESERVED_11 0x0011#define IMAGE_REL_IA64_RESERVED_12 0x0012#define IMAGE_REL_IA64_RESERVED_13 0x0013#define IMAGE_REL_IA64_RESERVED_14 0x0014#define IMAGE_REL_IA64_RESERVED_15 0x0015#define IMAGE_REL_IA64_RESERVED_16 0x0016#define IMAGE_REL_IA64_ADDEND 0x001F/* archive format */#define IMAGE_ARCHIVE_START_SIZE 8#define IMAGE_ARCHIVE_START "!<arch>\n"#define IMAGE_ARCHIVE_END "`\n"#define IMAGE_ARCHIVE_PAD "\n"#define IMAGE_ARCHIVE_LINKER_MEMBER "/ "#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "typedef struct IMAGE_ARCHIVE_MEMBER_HEADER{ BYTE Name[16]; BYTE Date[12]; BYTE UserID[6]; BYTE GroupID[6]; BYTE Mode[8]; BYTE Size[10]; BYTE EndHeader[2];} IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER;#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60/* * Resource directory stuff */typedef struct IMAGE_RESOURCE_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; WORD NumberOfNamedEntries; WORD NumberOfIdEntries; /* IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[]; */} IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY;#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000typedef struct IMAGE_RESOURCE_DIRECTORY_ENTRY { union { struct { unsigned NameOffset:31; unsigned NameIsString:1; } s; DWORD Name; WORD Id; } u1; union { DWORD OffsetToData; struct { unsigned OffsetToDirectory:31; unsigned DataIsDirectory:1; } s; } u2;} IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY;typedef struct IMAGE_RESOURCE_DIRECTORY_STRING { WORD Length; CHAR NameString[ 1 ];} IMAGE_RESOURCE_DIRECTORY_STRING,*PIMAGE_RESOURCE_DIRECTORY_STRING;typedef struct IMAGE_RESOURCE_DIR_STRING_U { WORD Length; WCHAR NameString[ 1 ];} IMAGE_RESOURCE_DIR_STRING_U,*PIMAGE_RESOURCE_DIR_STRING_U;typedef struct IMAGE_RESOURCE_DATA_ENTRY { DWORD OffsetToData; DWORD Size; DWORD CodePage; DWORD ResourceHandle;} IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY;typedef VOID CALLBACK (*PIMAGE_TLS_CALLBACK)( LPVOID DllHandle,DWORD Reason,LPVOID Reserved);typedef struct IMAGE_TLS_DIRECTORY { DWORD StartAddressOfRawData; DWORD EndAddressOfRawData; LPDWORD AddressOfIndex; PIMAGE_TLS_CALLBACK *AddressOfCallBacks; DWORD SizeOfZeroFill; DWORD Characteristics;} IMAGE_TLS_DIRECTORY,*PIMAGE_TLS_DIRECTORY;typedef struct IMAGE_DEBUG_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD Type; DWORD SizeOfData; DWORD AddressOfRawData; DWORD PointerToRawData;} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY;#define IMAGE_DEBUG_TYPE_UNKNOWN 0#define IMAGE_DEBUG_TYPE_COFF 1#define IMAGE_DEBUG_TYPE_CODEVIEW 2#define IMAGE_DEBUG_TYPE_FPO 3#define IMAGE_DEBUG_TYPE_MISC 4#define IMAGE_DEBUG_TYPE_EXCEPTION 5#define IMAGE_DEBUG_TYPE_FIXUP 6#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8#define IMAGE_DEBUG_TYPE_BORLAND 9#define IMAGE_DEBUG_TYPE_RESERVED10 10typedef struct IMAGE_COFF_SYMBOLS_HEADER { DWORD NumberOfSymbols; DWORD LvaToFirstSymbol; DWORD NumberOfLinenumbers; DWORD LvaToFirstLinenumber; DWORD RvaToFirstByteOfCode; DWORD RvaToLastByteOfCode; DWORD RvaToFirstByteOfData; DWORD RvaToLastByteOfData;} IMAGE_COFF_SYMBOLS_HEADER, *PIMAGE_COFF_SYMBOLS_HEADER;#define FRAME_FPO 0#define FRAME_TRAP 1#define FRAME_TSS 2#define FRAME_NONFPO 3typedef struct FPO_DATA { DWORD ulOffStart; DWORD cbProcSize; DWORD cdwLocals; WORD cdwParams; unsigned cbProlog : 8; unsigned cbRegs : 3; unsigned fHasSEH : 1; unsigned fUseBP : 1; unsigned reserved : 1; unsigned cbFrame : 2;} FPO_DATA, *PFPO_DATA;typedef struct IMAGE_LOAD_CONFIG_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD GlobalFlagsClear; DWORD GlobalFlagsSet; DWORD CriticalSectionDefaultTimeout; DWORD DeCommitFreeBlockThreshold; DWORD DeCommitTotalFreeThreshold; PVOID LockPrefixTable; DWORD MaximumAllocationSize; DWORD VirtualMemoryThreshold; DWORD ProcessHeapFlags; DWORD ProcessAffinityMask; WORD CSDVersion; WORD Reserved1; PVOID EditList; DWORD Reserved[1];} IMAGE_LOAD_CONFIG_DIRECTORY, *PIMAGE_LOAD_CONFIG_DIRECTORY;typedef struct IMAGE_FUNCTION_ENTRY { DWORD StartingAddress; DWORD EndingAddress; DWORD EndOfPrologue;} IMAGE_FUNCTION_ENTRY, *PIMAGE_FUNCTION_ENTRY;/* This is the structure that appears at the very start of a .DBG file. */typedef struct IMAGE_SEPARATE_DEBUG_HEADER { WORD Signature; WORD Flags; WORD Machine; WORD Characteristics; DWORD TimeDateStamp; DWORD CheckSum; DWORD ImageBase; DWORD SizeOfImage; DWORD NumberOfSections; DWORD ExportedNamesSize; DWORD DebugDirectorySize; DWORD SectionAlignment; DWORD Reserved[ 2 ];} IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER;#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944typedef struct tagMESSAGE_RESOURCE_ENTRY { WORD Length; WORD Flags; BYTE Text[1];} MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY;#define MESSAGE_RESOURCE_UNICODE 0x0001typedef struct tagMESSAGE_RESOURCE_BLOCK { DWORD LowId; DWORD HighId; DWORD OffsetToEntries;} MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK;typedef struct tagMESSAGE_RESOURCE_DATA { DWORD NumberOfBlocks; MESSAGE_RESOURCE_BLOCK Blocks[ 1 ];} MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA;/* * Here follows typedefs for security and tokens. */ /* * First a constant for the following typdefs. */#define ANYSIZE_ARRAY 1/* FIXME: Orphan. What does it point to? */typedef PVOID PACCESS_TOKEN;/* * TOKEN_INFORMATION_CLASS */typedef enum TOKEN_INFORMATION_CLASS { TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics } TOKEN_INFORMATION_CLASS; #ifndef SECURITY_DEFINED#define SECURITY_DEFINED#include "pshpack1.h"typedef DWORD ACCESS_MASK, *PACCESS_MASK;typedef struct GENERIC_MAPPING { ACCESS_MASK GenericRead; ACCESS_MASK GenericWrite; ACCESS_MASK GenericExecute; ACCESS_MASK GenericAll;} GENERIC_MAPPING, *PGENERIC_MAPPING;#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED#define SID_IDENTIFIER_AUTHORITY_DEFINEDtypedef struct { BYTE Value[6];} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;#endif /* !defined(SID_IDENTIFIER_AUTHORITY_DEFINED) */#ifndef SID_DEFINED#define SID_DEFINEDtypedef struct SID { BYTE Revision; BYTE SubAuthorityCount; SID_IDENTIFIER_AUTHORITY IdentifierAuthority; DWORD SubAuthority[1];} SID,*PSID;#endif /* !defined(SID_DEFINED) */#define SID_REVISION (1) /* Current revision */#define SID_MAX_SUB_AUTHORITIES (15) /* current max subauths */#define SID_RECOMMENDED_SUB_AUTHORITIES (1) /* recommended subauths *//* * ACL */#define ACL_REVISION1 1#define ACL_REVISION2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -