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

📄 winnt.h

📁 彭国伦书上的所有原代码
💻 H
📖 第 1 页 / 共 4 页
字号:
#define TAPE_FORMAT 5#define MAKELANGID(p,s)	((((WORD)(s))<<10)|(WORD)(p))#define MAKELCID(l,s) ((DWORD)((((DWORD)((WORD)(s)))<<16)|((DWORD)((WORD)(l)))))#define PRIMARYLANGID(l)	((WORD)(l)&0x3ff)#define SORTIDFROMLCID(l)	((WORD)((((DWORD)(l))&NLS_VALID_LOCALE_MASK)>>16))#define SUBLANGID(l)	((WORD)(l)>>10)#define LANGIDFROMLCID(l)	((WORD)(l))#define BTYPE(x) ((x)&N_BTMASK)#define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT))#define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT))#define ISARY(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY<<N_BTSHFT))#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG||(x)==IMAGE_SYM_CLASS_UNION_TAG||(x)==IMAGE_SYM_CLASS_ENUM_TAG)#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))#ifndef RC_INVOKEDtypedef DWORD ACCESS_MASK;typedef PVOID PSID;typedef struct _GENERIC_MAPPING {	ACCESS_MASK GenericRead;	ACCESS_MASK GenericWrite;	ACCESS_MASK GenericExecute;	ACCESS_MASK GenericAll;} GENERIC_MAPPING, *PGENERIC_MAPPING;typedef struct _ACE_HEADER {	BYTE AceType;	BYTE AceFlags;	WORD AceSize;} ACE_HEADER;typedef struct _ACCESS_ALLOWED_ACE {	ACE_HEADER Header;	ACCESS_MASK Mask;	DWORD SidStart;} ACCESS_ALLOWED_ACE;typedef struct _ACCESS_DENIED_ACE {	ACE_HEADER Header;	ACCESS_MASK Mask;	DWORD SidStart;} ACCESS_DENIED_ACE;typedef struct _ACL {	BYTE AclRevision;	BYTE Sbz1;	WORD AclSize;	WORD AceCount;	WORD Sbz2;} ACL,*PACL;typedef struct _ACL_REVISION_INFORMATION {	DWORD AclRevision;} ACL_REVISION_INFORMATION;typedef struct _ACL_SIZE_INFORMATION {    DWORD   AceCount;    DWORD   AclBytesInUse;    DWORD   AclBytesFree;} ACL_SIZE_INFORMATION;#ifdef _M_IX86#define SIZE_OF_80387_REGISTERS	80#define CONTEXT_i386	0x10000#define CONTEXT_i486	0x10000#define CONTEXT_CONTROL	(CONTEXT_i386|0x00000001L)#define CONTEXT_INTEGER	(CONTEXT_i386|0x00000002L)#define CONTEXT_SEGMENTS	(CONTEXT_i386|0x00000004L)#define CONTEXT_FLOATING_POINT	(CONTEXT_i386|0x00000008L)#define CONTEXT_DEBUG_REGISTERS	(CONTEXT_i386|0x00000010L)#define CONTEXT_FULL	(CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)typedef struct _FLOATING_SAVE_AREA {	DWORD	ControlWord;	DWORD	StatusWord;	DWORD	TagWord;	DWORD	ErrorOffset;	DWORD	ErrorSelector;	DWORD	DataOffset;	DWORD	DataSelector;	BYTE	RegisterArea[80];	DWORD	Cr0NpxState;} FLOATING_SAVE_AREA;typedef struct _CONTEXT {	DWORD	ContextFlags;	DWORD	Dr0;	DWORD	Dr1;	DWORD	Dr2;	DWORD	Dr3;	DWORD	Dr6;	DWORD	Dr7;	FLOATING_SAVE_AREA FloatSave;	DWORD	SegGs;	DWORD	SegFs;	DWORD	SegEs;	DWORD	SegDs;	DWORD	Edi;	DWORD	Esi;	DWORD	Ebx;	DWORD	Edx;	DWORD	Ecx;	DWORD	Eax;	DWORD	Ebp;	DWORD	Eip;	DWORD	SegCs;	DWORD	EFlags;	DWORD	Esp;	DWORD	SegSs;} CONTEXT,*PCONTEXT,*LPCONTEXT;#else#error "Unknown machine architecture"#endiftypedef struct _EXCEPTION_RECORD {	DWORD ExceptionCode;	DWORD ExceptionFlags;	struct _EXCEPTION_RECORD *ExceptionRecord;	PVOID ExceptionAddress;	DWORD NumberParameters;	DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];} EXCEPTION_RECORD,*PEXCEPTION_RECORD;typedef struct _EXCEPTION_POINTERS {	PEXCEPTION_RECORD ExceptionRecord;	PCONTEXT ContextRecord;} EXCEPTION_POINTERS,*PEXCEPTION_POINTERS,*LPEXCEPTION_POINTERS;typedef union _LARGE_INTEGER {	struct {		DWORD LowPart;		LONG HighPart;	}_STRUCT_NAME(u);	LONGLONG QuadPart;} LARGE_INTEGER,*PLARGE_INTEGER;typedef union _ULARGE_INTEGER {	struct {		DWORD LowPart;		DWORD HighPart;	}_STRUCT_NAME(u);	DWORDLONG QuadPart;} ULARGE_INTEGER,*PULARGE_INTEGER;typedef LARGE_INTEGER LUID,*PLUID;typedef struct _LUID_AND_ATTRIBUTES {	LUID   Luid;	DWORD  Attributes;} LUID_AND_ATTRIBUTES;typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;typedef struct _PRIVILEGE_SET {	DWORD PrivilegeCount;	DWORD Control;	LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];} PRIVILEGE_SET,*PPRIVILEGE_SET;typedef enum _SECURITY_IMPERSONATION_LEVEL {	SecurityAnonymous,	SecurityIdentification,	SecurityImpersonation,	SecurityDelegation} SECURITY_IMPERSONATION_LEVEL;typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,*PSECURITY_CONTEXT_TRACKING_MODE;typedef struct _SECURITY_QUALITY_OF_SERVICE {	DWORD Length;	SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;	SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;	BOOLEAN EffectiveOnly;} SECURITY_QUALITY_OF_SERVICE,*PSECURITY_QUALITY_OF_SERVICE;typedef DWORD SECURITY_DESCRIPTOR;typedef PVOID PSECURITY_DESCRIPTOR;typedef PVOID PACCESS_TOKEN;typedef struct _SE_IMPERSONATION_STATE {	PACCESS_TOKEN Token;	BOOLEAN CopyOnOpen;	BOOLEAN EffectiveOnly;	SECURITY_IMPERSONATION_LEVEL Level;} SE_IMPERSONATION_STATE,*PSE_IMPERSONATION_STATE;typedef struct _SID_AND_ATTRIBUTES {	PSID Sid;	DWORD Attributes;} SID_AND_ATTRIBUTES;typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;typedef struct _TOKEN_SOURCE {	CHAR SourceName[8];	LUID SourceIdentifier;} TOKEN_SOURCE;typedef struct _TOKEN_CONTROL {	LUID TokenId;	LUID AuthenticationId;	LUID ModifiedId;	TOKEN_SOURCE TokenSource;} TOKEN_CONTROL;typedef struct _TOKEN_DEFAULT_DACL {	PACL DefaultDacl;} TOKEN_DEFAULT_DACL;typedef struct _TOKEN_GROUPS {	DWORD GroupCount;	SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS;typedef struct _TOKEN_OWNER {	PSID Owner;} TOKEN_OWNER;typedef struct _TOKEN_PRIMARY_GROUP {	PSID PrimaryGroup;} TOKEN_PRIMARY_GROUP;typedef struct _TOKEN_PRIVILEGES {	DWORD PrivilegeCount;	LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES;typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE;typedef struct _TOKEN_STATISTICS {	LUID TokenId;	LUID AuthenticationId;	LARGE_INTEGER ExpirationTime;	TOKEN_TYPE TokenType;	SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;	DWORD DynamicCharged;	DWORD DynamicAvailable;	DWORD GroupCount;	DWORD PrivilegeCount;	LUID ModifiedId;} TOKEN_STATISTICS;typedef struct _TOKEN_USER {	SID_AND_ATTRIBUTES User;} TOKEN_USER;typedef struct _SID_IDENTIFIER_AUTHORITY {	BYTE Value[6];} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;typedef struct _SID {	BYTE  Revision;	BYTE  SubAuthorityCount;	SID_IDENTIFIER_AUTHORITY IdentifierAuthority;	DWORD SubAuthority[ANYSIZE_ARRAY];} SID, *PISID;typedef struct _SECURITY_ATTRIBUTES {	DWORD nLength;	LPVOID lpSecurityDescriptor;	BOOL bInheritHandle;} SECURITY_ATTRIBUTES,*LPSECURITY_ATTRIBUTES;typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION;typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL;typedef enum _TOKEN_INFORMATION_CLASS {	TokenUser=1,TokenGroups,TokenPrivileges,TokenOwner,	TokenPrimaryGroup,TokenDefaultDacl,TokenSource,TokenType,	TokenImpersonationLevel,TokenStatistics} TOKEN_INFORMATION_CLASS;typedef enum _SID_NAME_USE {	SidTypeUser=1,SidTypeGroup,SidTypeDomain,SidTypeAlias,SidTypeWellKnownGroup,	SidTypeDeletedAccount,SidTypeInvalid,SidTypeUnknown} SID_NAME_USE,*PSID_NAME_USE;typedef struct _FILE_NOTIFY_INFORMATION {	DWORD NextEntryOffset;	DWORD Action;	DWORD FileNameLength;	WCHAR FileName[1];} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION;typedef struct _TAPE_ERASE { ULONG Type; } TAPE_ERASE;typedef struct _TAPE_GET_DRIVE_PARAMETERS {	BOOLEAN ECC;	BOOLEAN Compression;	BOOLEAN DataPadding;	BOOLEAN ReportSetmarks;	ULONG DefaultBlockSize;	ULONG MaximumBlockSize;	ULONG MinimumBlockSize;	ULONG MaximumPartitionCount;	ULONG FeaturesLow;	ULONG FeaturesHigh;	ULONG EOTWarningZoneSize;} TAPE_GET_DRIVE_PARAMETERS;typedef struct _TAPE_GET_MEDIA_PARAMETERS {	LARGE_INTEGER Capacity;	LARGE_INTEGER Remaining;	DWORD BlockSize;	DWORD PartitionCount;	BOOLEAN WriteProtected;} TAPE_GET_MEDIA_PARAMETERS;typedef struct _TAPE_GET_POSITION {	ULONG Type;	ULONG Partition;	ULONG OffsetLow;	ULONG OffsetHigh;} TAPE_GET_POSITION;typedef struct _TAPE_PREPARE { ULONG Operation; } TAPE_PREPARE;typedef struct _TAPE_SET_DRIVE_PARAMETERS {	BOOLEAN ECC;	BOOLEAN Compression;	BOOLEAN DataPadding;	BOOLEAN ReportSetmarks;	ULONG EOTWarningZoneSize;} TAPE_SET_DRIVE_PARAMETERS;typedef struct _TAPE_SET_MEDIA_PARAMETERS {	ULONG BlockSize; } TAPE_SET_MEDIA_PARAMETERS;typedef struct _TAPE_SET_POSITION {	ULONG Method;	ULONG Partition;	ULONG OffsetLow;	ULONG OffsetHigh;} TAPE_SET_POSITION;typedef struct _TAPE_WRITE_MARKS {	ULONG Type;	ULONG Count;} TAPE_WRITE_MARKS;typedef struct _MEMORY_BASIC_INFORMATION {	PVOID BaseAddress;	PVOID AllocationBase;	DWORD AllocationProtect;	DWORD RegionSize;	DWORD State;	DWORD Protect;	DWORD Type;} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;typedef struct _MESSAGE_RESOURCE_ENTRY {	WORD Length;	WORD Flags;	BYTE Text[1];} MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY;typedef struct _MESSAGE_RESOURCE_BLOCK {	DWORD LowId;	DWORD HighId;	DWORD OffsetToEntries;} MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK;typedef struct _MESSAGE_RESOURCE_DATA {	DWORD NumberOfBlocks;	MESSAGE_RESOURCE_BLOCK Blocks[1];} MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA;typedef struct _LIST_ENTRY {	struct _LIST_ENTRY *Flink;	struct _LIST_ENTRY *Blink;} LIST_ENTRY,*PLIST_ENTRY;typedef struct _RTL_CRITICAL_SECTION_DEBUG {	WORD Type;	WORD CreatorBackTraceIndex;	struct _RTL_CRITICAL_SECTION *CriticalSection;	LIST_ENTRY ProcessLocksList;	DWORD EntryCount;	DWORD ContentionCount;	DWORD Spare[2];} RTL_CRITICAL_SECTION_DEBUG,*PRTL_CRITICAL_SECTION_DEBUG;typedef struct _RTL_CRITICAL_SECTION {	PRTL_CRITICAL_SECTION_DEBUG DebugInfo;	LONG LockCount;	LONG RecursionCount;	HANDLE OwningThread;	HANDLE LockSemaphore;	DWORD Reserved;} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION;typedef struct _EVENTLOGRECORD {	DWORD Length;	DWORD Reserved;	DWORD RecordNumber;	DWORD TimeGenerated;	DWORD TimeWritten;	DWORD EventID;	WORD EventType;	WORD NumStrings;	WORD EventCategory;	WORD ReservedFlags;	DWORD ClosingRecordNumber;	DWORD StringOffset;	DWORD UserSidLength;	DWORD UserSidOffset;	DWORD DataLength;	DWORD DataOffset;} EVENTLOGRECORD,*PEVENTLOGRECORD;typedef struct _IMAGE_VXD_HEADER {	WORD e32_magic;	BYTE e32_border;	BYTE e32_worder;	DWORD e32_level;	WORD e32_cpu;	WORD e32_os;	DWORD e32_ver;	DWORD e32_mflags;	DWORD e32_mpages;	DWORD e32_startobj;	DWORD e32_eip;	DWORD e32_stackobj;	DWORD e32_esp;	DWORD e32_pagesize;	DWORD e32_lastpagesize;	DWORD e32_fixupsize;	DWORD e32_fixupsum;	DWORD e32_ldrsize;	DWORD e32_ldrsum;	DWORD e32_objtab;	DWORD e32_objcnt;	DWORD e32_objmap;	DWORD e32_itermap;	DWORD e32_rsrctab;	DWORD e32_rsrccnt;	DWORD e32_restab;	DWORD e32_enttab;	DWORD e32_dirtab;	DWORD e32_dircnt;	DWORD e32_fpagetab;	DWORD e32_frectab;	DWORD e32_impmod;	DWORD e32_impmodcnt;	DWORD e32_impproc;	DWORD e32_pagesum;	DWORD e32_datapage;	DWORD e32_preload;	DWORD e32_nrestab;	DWORD e32_cbnrestab;	DWORD e32_nressum;	DWORD e32_autodata;	DWORD e32_debuginfo;	DWORD e32_debuglen;	DWORD e32_instpreload;	DWORD e32_instdemand;	DWORD e32_heapsize;	BYTE e32_res3[12];	DWORD e32_winresoff;	DWORD e32_winreslen;	WORD e32_devid;	WORD e32_ddkver;} IMAGE_VXD_HEADER,*PIMAGE_VXD_HEADER;typedef struct _IMAGE_FILE_HEADER {	WORD Machine;	WORD NumberOfSections;	DWORD TimeDateStamp;	DWORD PointerToSymbolTable;	DWORD NumberOfSymbols;	WORD SizeOfOptionalHeader;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -