/* Header autogenerated by Brandon Falk's PDB Dumper * * Invocation: C:\projects\pdbdump_2\pdbdump.exe L:\symbolarchive\win8_spB_x64\processr.pdb\D454A7FB6D4143499D5BB82FBDE5355E1\processr.pdb */ struct LIST_ENTRY64 { unsigned long long Flink; /* +0x0000 */ unsigned long long Blink; /* +0x0008 */ }; struct LIST_ENTRY32 { unsigned long Flink; /* +0x0000 */ unsigned long Blink; /* +0x0004 */ }; enum _NT_PRODUCT_TYPE { NtProductWinNt = 1, NtProductLanManNt = 2, NtProductServer = 3 }; enum _ALTERNATIVE_ARCHITECTURE_TYPE { StandardDesign = 0, NEC98x86 = 1, EndAlternatives = 2 }; struct _KUSER_SHARED_DATA { unsigned long TickCountLowDeprecated; /* +0x0000 */ unsigned long TickCountMultiplier; /* +0x0004 */ unsigned char InterruptTime[12]; /* +0x0008 20 10 00 00 */ unsigned char SystemTime[12]; /* +0x0014 20 10 00 00 */ unsigned char TimeZoneBias[12]; /* +0x0020 20 10 00 00 */ unsigned short ImageNumberLow; /* +0x002c */ unsigned short ImageNumberHigh; /* +0x002e */ unsigned char NtSystemRoot[520]; /* +0x0030 21 10 00 00 */ unsigned long MaxStackTraceDepth; /* +0x0238 */ unsigned long CryptoExponent; /* +0x023c */ unsigned long TimeZoneId; /* +0x0240 */ unsigned long LargePageMinimum; /* +0x0244 */ unsigned long AitSamplingValue; /* +0x0248 */ unsigned long AppCompatFlag; /* +0x024c */ unsigned long long RNGSeedVersion; /* +0x0250 */ unsigned long GlobalValidationRunlevel; /* +0x0258 */ unsigned char Reserved2[8]; /* +0x025c 22 10 00 00 */ unsigned char NtProductType[4]; /* +0x0264 24 10 00 00 */ unsigned char ProductTypeIsValid; /* +0x0268 */ unsigned char Reserved0[1]; /* +0x0269 25 10 00 00 */ unsigned short NativeProcessorArchitecture; /* +0x026a */ unsigned long NtMajorVersion; /* +0x026c */ unsigned long NtMinorVersion; /* +0x0270 */ unsigned char ProcessorFeatures[64]; /* +0x0274 26 10 00 00 */ unsigned long Reserved1; /* +0x02b4 */ unsigned long Reserved3; /* +0x02b8 */ unsigned char TimeSlip[4]; /* +0x02bc 27 10 00 00 */ unsigned char AlternativeArchitecture[4]; /* +0x02c0 29 10 00 00 */ unsigned char AltArchitecturePad[4]; /* +0x02c4 2a 10 00 00 */ unsigned char SystemExpirationDate[8]; /* +0x02c8 2b 10 00 00 */ unsigned long SuiteMask; /* +0x02d0 */ unsigned char KdDebuggerEnabled; /* +0x02d4 */ unsigned char MitigationPolicies; /* +0x02d5 */ /* unsigned char NXSupportPolicy[0]; +0x02d5 2c 10 00 00 */ /* unsigned char SEHValidationPolicy[0]; +0x02d5 2d 10 00 00 */ /* unsigned char CurDirDevicesSkippedForDlls[0]; +0x02d5 2e 10 00 00 */ unsigned char Reserved[1]; /* +0x02d5 2f 10 00 00 */ unsigned char Reserved6[2]; /* +0x02d6 30 10 00 00 */ unsigned char ActiveConsoleId[4]; /* +0x02d8 27 10 00 00 */ unsigned char DismountCount[4]; /* +0x02dc 27 10 00 00 */ unsigned long ComPlusPackage; /* +0x02e0 */ unsigned long LastSystemRITEventTickCount; /* +0x02e4 */ unsigned long NumberOfPhysicalPages; /* +0x02e8 */ unsigned char SafeBootMode; /* +0x02ec */ unsigned char Reserved12[3]; /* +0x02ed 31 10 00 00 */ unsigned long SharedDataFlags; /* +0x02f0 */ /* unsigned char DbgErrorPortPresent[0]; +0x02f0 32 10 00 00 */ /* unsigned char DbgElevationEnabled[0]; +0x02f0 33 10 00 00 */ /* unsigned char DbgVirtEnabled[0]; +0x02f0 34 10 00 00 */ /* unsigned char DbgInstallerDetectEnabled[0]; +0x02f0 35 10 00 00 */ /* unsigned char DbgLkgEnabled[0]; +0x02f0 36 10 00 00 */ /* unsigned char DbgDynProcessorEnabled[0]; +0x02f0 37 10 00 00 */ /* unsigned char DbgConsoleBrokerEnabled[0]; +0x02f0 38 10 00 00 */ unsigned char SpareBits[4]; /* +0x02f0 39 10 00 00 */ unsigned char DataFlagsPad[4]; /* +0x02f4 2a 10 00 00 */ unsigned long long TestRetInstruction; /* +0x02f8 */ unsigned long Reserved9; /* +0x0300 */ unsigned long Reserved10; /* +0x0304 */ unsigned char SystemCallPad[24]; /* +0x0308 3a 10 00 00 */ /* unsigned char TickCount[0]; +0x0320 20 10 00 00 */ /* unsigned char TickCountQuad[0]; +0x0320 3b 10 00 00 */ unsigned char ReservedTickCountOverlay[12]; /* +0x0320 3c 10 00 00 */ unsigned char TickCountPad[4]; /* +0x032c 2a 10 00 00 */ unsigned long Cookie; /* +0x0330 */ unsigned char CookiePad[4]; /* +0x0334 2a 10 00 00 */ long long ConsoleSessionForegroundProcessId; /* +0x0338 */ unsigned char TimeUpdateSequence[8]; /* +0x0340 3b 10 00 00 */ unsigned long long LastTimeUpdateQpcValue; /* +0x0348 */ unsigned long long LastInterruptTimeUpdateQpcValue; /* +0x0350 */ unsigned long long QpcTimeIncrement; /* +0x0358 */ unsigned long QpcTimeIncrement32; /* +0x0360 */ unsigned char Reserved8[28]; /* +0x0364 3d 10 00 00 */ unsigned char UserModeGlobalLogger[32]; /* +0x0380 3e 10 00 00 */ unsigned long ImageFileExecutionOptions; /* +0x03a0 */ unsigned long LangGenerationCount; /* +0x03a4 */ unsigned char InterruptTimeBias[8]; /* +0x03a8 3b 10 00 00 */ unsigned char TscQpcBias[8]; /* +0x03b0 3b 10 00 00 */ unsigned char ActiveProcessorCount[4]; /* +0x03b8 27 10 00 00 */ unsigned char ActiveGroupCount[1]; /* +0x03bc 3f 10 00 00 */ unsigned char QpcTimeIncrementShift; /* +0x03bd */ unsigned short TscQpcData; /* +0x03be */ unsigned char TscQpcEnabled[1]; /* +0x03be 3f 10 00 00 */ unsigned char TscQpcShift; /* +0x03bf */ unsigned char XState[528]; /* +0x03c0 40 10 00 00 */ }; /* struct { unsigned long LowPart; +0x0000 unsigned long HighPart; +0x0004 }; */ struct _ULARGE_INTEGER { unsigned long LowPart; /* +0x0000 */ unsigned long HighPart; /* +0x0004 */ /* unsigned char u[0]; +0x0000 46 10 00 00 */ unsigned long long QuadPart; /* +0x0000 */ }; /* struct { unsigned long LowPart; +0x0000 long HighPart; +0x0004 }; */ struct _LARGE_INTEGER { unsigned long LowPart; /* +0x0000 */ long HighPart; /* +0x0004 */ /* unsigned char u[0]; +0x0000 4a 10 00 00 */ long long QuadPart; /* +0x0000 */ }; /* struct { /* unsigned char LongFunction[0]; +0x0000 32 10 00 00 /* unsigned char Persistent[0]; +0x0000 33 10 00 00 unsigned char Private[4]; +0x0000 60 10 00 00 }; */ /* struct { unsigned long Flags; +0x0000 unsigned char s[4]; +0x0000 62 10 00 00 }; */ enum _TP_CALLBACK_PRIORITY { TP_CALLBACK_PRIORITY_HIGH = 0, TP_CALLBACK_PRIORITY_NORMAL = 1, TP_CALLBACK_PRIORITY_LOW = 2, TP_CALLBACK_PRIORITY_INVALID = 3, TP_CALLBACK_PRIORITY_COUNT = 3 }; struct _TP_CALLBACK_ENVIRON_V3 { unsigned long Version; /* +0x0000 */ unsigned char Pool[8]; /* +0x0008 53 10 00 00 */ unsigned char CleanupGroup[8]; /* +0x0010 55 10 00 00 */ unsigned char CleanupGroupCancelCallback[8]; /* +0x0018 58 10 00 00 */ void *RaceDll; /* +0x0020 */ unsigned char ActivationContext[8]; /* +0x0028 5a 10 00 00 */ unsigned char FinalizationCallback[8]; /* +0x0030 5f 10 00 00 */ unsigned char u[4]; /* +0x0038 64 10 00 00 */ unsigned char CallbackPriority[4]; /* +0x003c 66 10 00 00 */ unsigned long Size; /* +0x0040 */ }; struct _TP_TASK { unsigned char Callbacks[8]; /* +0x0000 74 10 00 00 */ unsigned long NumaNode; /* +0x0008 */ unsigned char IdealProcessor; /* +0x000c */ unsigned char ListEntry[16]; /* +0x0010 75 10 00 00 */ }; struct _TP_TASK_CALLBACKS { unsigned char ExecuteCallback[8]; /* +0x0000 7b 10 00 00 */ unsigned char Unposted[8]; /* +0x0008 7e 10 00 00 */ }; struct _TEB { unsigned char NtTib[56]; /* +0x0000 88 10 00 00 */ void *EnvironmentPointer; /* +0x0038 */ unsigned char ClientId[16]; /* +0x0040 89 10 00 00 */ void *ActiveRpcHandle; /* +0x0050 */ void *ThreadLocalStoragePointer; /* +0x0058 */ unsigned char ProcessEnvironmentBlock[8]; /* +0x0060 8b 10 00 00 */ unsigned long LastErrorValue; /* +0x0068 */ unsigned long CountOfOwnedCriticalSections; /* +0x006c */ void *CsrClientThread; /* +0x0070 */ void *Win32ThreadInfo; /* +0x0078 */ unsigned char User32Reserved[104]; /* +0x0080 8c 10 00 00 */ unsigned char UserReserved[24]; /* +0x00e8 8d 10 00 00 */ void *WOW32Reserved; /* +0x0100 */ unsigned long CurrentLocale; /* +0x0108 */ unsigned long FpSoftwareStatusRegister; /* +0x010c */ unsigned char SystemReserved1[432]; /* +0x0110 8e 10 00 00 */ long ExceptionCode; /* +0x02c0 */ unsigned char ActivationContextStackPointer[8]; /* +0x02c8 90 10 00 00 */ unsigned char SpareBytes[24]; /* +0x02d0 91 10 00 00 */ unsigned long TxFsContext; /* +0x02e8 */ unsigned char GdiTebBatch[1256]; /* +0x02f0 92 10 00 00 */ unsigned char RealClientId[16]; /* +0x07d8 89 10 00 00 */ void *GdiCachedProcessHandle; /* +0x07e8 */ unsigned long GdiClientPID; /* +0x07f0 */ unsigned long GdiClientTID; /* +0x07f4 */ void *GdiThreadLocalInfo; /* +0x07f8 */ unsigned char Win32ClientInfo[496]; /* +0x0800 93 10 00 00 */ unsigned char glDispatchTable[1864]; /* +0x09f0 94 10 00 00 */ unsigned char glReserved1[232]; /* +0x1138 95 10 00 00 */ void *glReserved2; /* +0x1220 */ void *glSectionInfo; /* +0x1228 */ void *glSection; /* +0x1230 */ void *glTable; /* +0x1238 */ void *glCurrentRC; /* +0x1240 */ void *glContext; /* +0x1248 */ unsigned long LastStatusValue; /* +0x1250 */ unsigned char StaticUnicodeString[16]; /* +0x1258 96 10 00 00 */ unsigned char StaticUnicodeBuffer[528]; /* +0x1268 97 10 00 00 */ void *DeallocationStack; /* +0x1478 */ unsigned char TlsSlots[512]; /* +0x1480 98 10 00 00 */ unsigned char TlsLinks[16]; /* +0x1680 75 10 00 00 */ void *Vdm; /* +0x1690 */ void *ReservedForNtRpc; /* +0x1698 */ unsigned char DbgSsReserved[16]; /* +0x16a0 99 10 00 00 */ unsigned long HardErrorMode; /* +0x16b0 */ unsigned char Instrumentation[88]; /* +0x16b8 9a 10 00 00 */ unsigned char ActivityId[16]; /* +0x1710 9b 10 00 00 */ void *SubProcessTag; /* +0x1720 */ void *EtwLocalData; /* +0x1728 */ void *EtwTraceData; /* +0x1730 */ void *WinSockData; /* +0x1738 */ unsigned long GdiBatchCount; /* +0x1740 */ /* unsigned char CurrentIdealProcessor[0]; +0x1744 9c 10 00 00 */ unsigned long IdealProcessorValue; /* +0x1744 */ unsigned char ReservedPad0; /* +0x1744 */ unsigned char ReservedPad1; /* +0x1745 */ unsigned char ReservedPad2; /* +0x1746 */ unsigned char IdealProcessor; /* +0x1747 */ unsigned long GuaranteedStackBytes; /* +0x1748 */ void *ReservedForPerf; /* +0x1750 */ void *ReservedForOle; /* +0x1758 */ unsigned long WaitingOnLoaderLock; /* +0x1760 */ void *SavedPriorityState; /* +0x1768 */ unsigned long long ReservedForCodeCoverage; /* +0x1770 */ void *ThreadPoolData; /* +0x1778 */ unsigned char TlsExpansionSlots[8]; /* +0x1780 6c 10 00 00 */ void *DeallocationBStore; /* +0x1788 */ void *BStoreLimit; /* +0x1790 */ unsigned long MuiGeneration; /* +0x1798 */ unsigned long IsImpersonating; /* +0x179c */ void *NlsCache; /* +0x17a0 */ void *pShimData; /* +0x17a8 */ unsigned short HeapVirtualAffinity; /* +0x17b0 */ unsigned short LowFragHeapDataSlot; /* +0x17b2 */ void *CurrentTransactionHandle; /* +0x17b8 */ unsigned char ActiveFrame[8]; /* +0x17c0 9e 10 00 00 */ void *FlsData; /* +0x17c8 */ void *PreferredLanguages; /* +0x17d0 */ void *UserPrefLanguages; /* +0x17d8 */ void *MergedPrefLanguages; /* +0x17e0 */ unsigned long MuiImpersonation; /* +0x17e8 */ /* unsigned char CrossTebFlags[0]; +0x17ec 9f 10 00 00 */ unsigned char SpareCrossTebBits[2]; /* +0x17ec a0 10 00 00 */ unsigned short SameTebFlags; /* +0x17ee */ /* unsigned char SafeThunkCall[0]; +0x17ee a1 10 00 00 */ /* unsigned char InDebugPrint[0]; +0x17ee a2 10 00 00 */ /* unsigned char HasFiberData[0]; +0x17ee a3 10 00 00 */ /* unsigned char SkipThreadAttach[0]; +0x17ee a4 10 00 00 */ /* unsigned char WerInShipAssertCode[0]; +0x17ee a5 10 00 00 */ /* unsigned char RanProcessInit[0]; +0x17ee a6 10 00 00 */ /* unsigned char ClonedThread[0]; +0x17ee a7 10 00 00 */ /* unsigned char SuppressDebugMsg[0]; +0x17ee a8 10 00 00 */ /* unsigned char DisableUserStackWalk[0]; +0x17ee a9 10 00 00 */ /* unsigned char RtlExceptionAttached[0]; +0x17ee aa 10 00 00 */ /* unsigned char InitialThread[0]; +0x17ee ab 10 00 00 */ /* unsigned char SessionAware[0]; +0x17ee ac 10 00 00 */ /* unsigned char DisabledStackCheck[0]; +0x17ee ad 10 00 00 */ unsigned char SpareSameTebBits[2]; /* +0x17ee ae 10 00 00 */ void *TxnScopeEnterCallback; /* +0x17f0 */ void *TxnScopeExitCallback; /* +0x17f8 */ void *TxnScopeContext; /* +0x1800 */ unsigned long LockCount; /* +0x1808 */ unsigned long SpareUlong0; /* +0x180c */ void *ResourceRetValue; /* +0x1810 */ void *ReservedForWdf; /* +0x1818 */ }; struct _LIST_ENTRY { unsigned char Flink[8]; /* +0x0000 b3 10 00 00 */ unsigned char Blink[8]; /* +0x0008 b3 10 00 00 */ }; struct _SINGLE_LIST_ENTRY { unsigned char Next[8]; /* +0x0000 c5 10 00 00 */ }; struct _RTL_SPLAY_LINKS { unsigned char Parent[8]; /* +0x0000 ca 10 00 00 */ unsigned char LeftChild[8]; /* +0x0008 ca 10 00 00 */ unsigned char RightChild[8]; /* +0x0010 ca 10 00 00 */ }; struct _RTL_DYNAMIC_HASH_TABLE_CONTEXT { unsigned char ChainHead[8]; /* +0x0000 b3 10 00 00 */ unsigned char PrevLinkage[8]; /* +0x0008 b3 10 00 00 */ unsigned long long Signature; /* +0x0010 */ }; struct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR { unsigned char HashEntry[24]; /* +0x0000 d4 10 00 00 */ unsigned char ChainHead[8]; /* +0x0018 b3 10 00 00 */ unsigned long BucketIndex; /* +0x0020 */ }; struct _RTL_DYNAMIC_HASH_TABLE { unsigned long Flags; /* +0x0000 */ unsigned long Shift; /* +0x0004 */ unsigned long TableSize; /* +0x0008 */ unsigned long Pivot; /* +0x000c */ unsigned long DivisorMask; /* +0x0010 */ unsigned long NumEntries; /* +0x0014 */ unsigned long NonEmptyBuckets; /* +0x0018 */ unsigned long NumEnumerators; /* +0x001c */ void *Directory; /* +0x0020 */ }; struct _UNICODE_STRING { unsigned short Length; /* +0x0000 */ unsigned short MaximumLength; /* +0x0002 */ unsigned short *Buffer; /* +0x0008 */ }; struct _STRING { unsigned short Length; /* +0x0000 */ unsigned short MaximumLength; /* +0x0002 */ char *Buffer; /* +0x0008 */ }; struct _RTL_BITMAP { unsigned long SizeOfBitMap; /* +0x0000 */ unsigned long *Buffer; /* +0x0008 */ }; struct _IMAGE_NT_HEADERS64 { unsigned long Signature; /* +0x0000 */ unsigned char FileHeader[20]; /* +0x0004 f1 10 00 00 */ unsigned char OptionalHeader[240]; /* +0x0018 f2 10 00 00 */ }; struct _IMAGE_DOS_HEADER { unsigned short e_magic; /* +0x0000 */ unsigned short e_cblp; /* +0x0002 */ unsigned short e_cp; /* +0x0004 */ unsigned short e_crlc; /* +0x0006 */ unsigned short e_cparhdr; /* +0x0008 */ unsigned short e_minalloc; /* +0x000a */ unsigned short e_maxalloc; /* +0x000c */ unsigned short e_ss; /* +0x000e */ unsigned short e_sp; /* +0x0010 */ unsigned short e_csum; /* +0x0012 */ unsigned short e_ip; /* +0x0014 */ unsigned short e_cs; /* +0x0016 */ unsigned short e_lfarlc; /* +0x0018 */ unsigned short e_ovno; /* +0x001a */ unsigned char e_res[8]; /* +0x001c f7 10 00 00 */ unsigned short e_oemid; /* +0x0024 */ unsigned short e_oeminfo; /* +0x0026 */ unsigned char e_res2[20]; /* +0x0028 f8 10 00 00 */ long e_lfanew; /* +0x003c */ }; struct _RTL_BALANCED_NODE { /* unsigned char Children[0]; +0x0000 ff 10 00 00 */ unsigned char Left[8]; /* +0x0000 fe 10 00 00 */ unsigned char Right[8]; /* +0x0008 fe 10 00 00 */ /* unsigned char Red[0]; +0x0010 00 11 00 00 */ /* unsigned char Balance[0]; +0x0010 2c 10 00 00 */ unsigned long long ParentValue; /* +0x0010 */ }; struct _RTL_RB_TREE { unsigned char Root[8]; /* +0x0000 fe 10 00 00 */ unsigned char Min[8]; /* +0x0008 fe 10 00 00 */ }; struct _RTL_AVL_TREE { unsigned char Root[8]; /* +0x0000 fe 10 00 00 */ }; enum _MODE { KernelMode = 0, UserMode = 1, MaximumMode = 2 }; struct _KPCR { /* unsigned char NtTib[0]; +0x0000 88 10 00 00 */ unsigned char GdtBase[8]; /* +0x0000 39 11 00 00 */ unsigned char TssBase[8]; /* +0x0008 3b 11 00 00 */ unsigned long long UserRsp; /* +0x0010 */ unsigned char Self[8]; /* +0x0018 37 11 00 00 */ unsigned char CurrentPrcb[8]; /* +0x0020 3d 11 00 00 */ unsigned char LockArray[8]; /* +0x0028 3f 11 00 00 */ void *Used_Self; /* +0x0030 */ unsigned char IdtBase[8]; /* +0x0038 41 11 00 00 */ unsigned char Unused[16]; /* +0x0040 42 11 00 00 */ unsigned char Irql; /* +0x0050 */ unsigned char SecondLevelCacheAssociativity; /* +0x0051 */ unsigned char ObsoleteNumber; /* +0x0052 */ unsigned char Fill0; /* +0x0053 */ unsigned char Unused0[12]; /* +0x0054 3c 10 00 00 */ unsigned short MajorVersion; /* +0x0060 */ unsigned short MinorVersion; /* +0x0062 */ unsigned long StallScaleFactor; /* +0x0064 */ unsigned char Unused1[24]; /* +0x0068 43 11 00 00 */ unsigned char KernelReserved[60]; /* +0x0080 44 11 00 00 */ unsigned long SecondLevelCacheSize; /* +0x00bc */ unsigned char HalReserved[64]; /* +0x00c0 45 11 00 00 */ unsigned long Unused2; /* +0x0100 */ void *KdVersionBlock; /* +0x0108 */ void *Unused3; /* +0x0110 */ unsigned char PcrAlign1[104]; /* +0x0118 46 11 00 00 */ unsigned char Prcb[1648]; /* +0x0180 3c 11 00 00 */ }; struct _KPRCB { unsigned long MxCsr; /* +0x0000 */ unsigned char LegacyNumber; /* +0x0004 */ unsigned char ReservedMustBeZero; /* +0x0005 */ unsigned char InterruptRequest; /* +0x0006 */ unsigned char IdleHalt; /* +0x0007 */ unsigned char CurrentThread[8]; /* +0x0008 29 11 00 00 */ unsigned char NextThread[8]; /* +0x0010 29 11 00 00 */ unsigned char IdleThread[8]; /* +0x0018 29 11 00 00 */ unsigned char NestingLevel; /* +0x0020 */ unsigned char ClockOwner; /* +0x0021 */ unsigned char PendingTick; /* +0x0022 */ unsigned char PrcbPad00[1]; /* +0x0023 25 10 00 00 */ unsigned long Number; /* +0x0024 */ unsigned long long RspBase; /* +0x0028 */ unsigned long long PrcbLock; /* +0x0030 */ unsigned long long PrcbPad01; /* +0x0038 */ unsigned char ProcessorState[1456]; /* +0x0040 49 11 00 00 */ char CpuType; /* +0x05f0 */ char CpuID; /* +0x05f1 */ unsigned short CpuStep; /* +0x05f2 */ unsigned char CpuStepping; /* +0x05f2 */ unsigned char CpuModel; /* +0x05f3 */ unsigned long MHz; /* +0x05f4 */ unsigned char HalReserved[64]; /* +0x05f8 4a 11 00 00 */ unsigned short MinorVersion; /* +0x0638 */ unsigned short MajorVersion; /* +0x063a */ unsigned char BuildType; /* +0x063c */ unsigned char CpuVendor; /* +0x063d */ unsigned char CoresPerPhysicalProcessor; /* +0x063e */ unsigned char LogicalProcessorsPerCore; /* +0x063f */ unsigned long ApicMask; /* +0x0640 */ unsigned long CFlushSize; /* +0x0644 */ void *AcpiReserved; /* +0x0648 */ unsigned long InitialApicId; /* +0x0650 */ unsigned long Stride; /* +0x0654 */ unsigned short Group; /* +0x0658 */ unsigned long long GroupSetMember; /* +0x0660 */ unsigned char GroupIndex; /* +0x0668 */ }; struct _EVENT_DATA_DESCRIPTOR { unsigned long long Ptr; /* +0x0000 */ unsigned long Size; /* +0x0008 */ unsigned long Reserved; /* +0x000c */ }; struct _EVENT_DESCRIPTOR { unsigned short Id; /* +0x0000 */ unsigned char Version; /* +0x0002 */ unsigned char Channel; /* +0x0003 */ unsigned char Level; /* +0x0004 */ unsigned char Opcode; /* +0x0005 */ unsigned short Task; /* +0x0006 */ unsigned long long Keyword; /* +0x0008 */ }; struct _FAST_MUTEX { unsigned char Count[8]; /* +0x0000 19 10 00 00 */ void *Owner; /* +0x0008 */ unsigned long Contention; /* +0x0010 */ unsigned char Event[24]; /* +0x0018 5f 11 00 00 */ unsigned long OldIrql; /* +0x0030 */ }; enum _EVENT_TYPE { NotificationEvent = 0, SynchronizationEvent = 1 }; struct _KEVENT { unsigned char Header[24]; /* +0x0000 69 11 00 00 */ }; struct _LOOKASIDE_LIST_EX { unsigned char L[96]; /* +0x0000 6e 11 00 00 */ }; struct _SLIST_ENTRY { unsigned char Next[16]; /* +0x0000 72 11 00 00 */ }; /* struct { /* unsigned char Depth[0]; +0x0000 7b 11 00 00 /* unsigned char Sequence[0]; +0x0000 7c 11 00 00 unsigned char NextEntry[8]; +0x0000 7d 11 00 00 /* unsigned char HeaderType[0]; +0x0008 7e 11 00 00 /* unsigned char Init[0]; +0x0008 7f 11 00 00 /* unsigned char Reserved[0]; +0x0008 80 11 00 00 unsigned char Region[8]; +0x0008 81 11 00 00 }; */ /* struct { /* unsigned char Depth[0]; +0x0000 7b 11 00 00 unsigned char Sequence[8]; +0x0000 84 11 00 00 /* unsigned char HeaderType[0]; +0x0008 7e 11 00 00 /* unsigned char Reserved[0]; +0x0008 85 11 00 00 unsigned char NextEntry[8]; +0x0008 86 11 00 00 }; */ struct _SLIST_HEADER { unsigned long long Alignment; /* +0x0000 */ unsigned long long Region; /* +0x0008 */ /* unsigned char Header8[0]; +0x0000 83 11 00 00 */ unsigned char HeaderX64[16]; /* +0x0000 88 11 00 00 */ }; enum _POOL_TYPE { NonPagedPool = 0, NonPagedPoolExecute = 0, PagedPool = 1, NonPagedPoolMustSucceed = 2, DontUseThisType = 3, NonPagedPoolCacheAligned = 4, PagedPoolCacheAligned = 5, NonPagedPoolCacheAlignedMustS = 6, MaxPoolType = 7, NonPagedPoolBase = 0, NonPagedPoolBaseMustSucceed = 2, NonPagedPoolBaseCacheAligned = 4, NonPagedPoolBaseCacheAlignedMustS = 6, NonPagedPoolSession = 32, PagedPoolSession = 33, NonPagedPoolMustSucceedSession = 34, DontUseThisTypeSession = 35, NonPagedPoolCacheAlignedSession = 36, PagedPoolCacheAlignedSession = 37, NonPagedPoolCacheAlignedMustSSession = 38, NonPagedPoolNx = 512, NonPagedPoolNxCacheAligned = 516, NonPagedPoolSessionNx = 544 }; struct _NPAGED_LOOKASIDE_LIST { unsigned char L[128]; /* +0x0000 9d 11 00 00 */ }; struct _QUAD { long long UseThisFieldToCopy; /* +0x0000 */ unsigned char DoNotUseThisField[8]; /* +0x0000 41 00 00 00 */ }; struct _IO_STATUS_BLOCK { long Status; /* +0x0000 */ void *Pointer; /* +0x0000 */ unsigned long long Information; /* +0x0008 */ }; struct _IO_STATUS_BLOCK32 { long Status; /* +0x0000 */ unsigned long Information; /* +0x0004 */ }; struct _WORK_QUEUE_ITEM { unsigned char List[16]; /* +0x0000 75 10 00 00 */ unsigned char WorkerRoutine[8]; /* +0x0010 a6 11 00 00 */ void *Parameter; /* +0x0018 */ }; struct _EX_PUSH_LOCK { /* unsigned char Locked[0]; +0x0000 7e 11 00 00 */ /* unsigned char Waiting[0]; +0x0000 7f 11 00 00 */ /* unsigned char Waking[0]; +0x0000 f3 11 00 00 */ /* unsigned char MultipleShared[0]; +0x0000 f4 11 00 00 */ /* unsigned char Shared[0]; +0x0000 86 11 00 00 */ unsigned long long Value; /* +0x0000 */ void *Ptr; /* +0x0000 */ }; struct _PROCESSOR_NUMBER { unsigned short Group; /* +0x0000 */ unsigned char Number; /* +0x0002 */ unsigned char Reserved; /* +0x0003 */ }; struct _EX_PUSH_LOCK_CACHE_AWARE { unsigned char Locks[8]; /* +0x0000 08 12 00 00 */ }; /* struct { /* unsigned char MasterIrp[0]; +0x0000 0e 12 00 00 long IrpCount; +0x0000 void *SystemBuffer; +0x0000 }; */ /* struct { /* unsigned char UserApcRoutine[0]; +0x0000 15 12 00 00 void *IssuingProcess; +0x0000 void *UserApcContext; +0x0008 }; */ /* struct { /* unsigned char AsynchronousParameters[0]; +0x0000 17 12 00 00 unsigned char AllocationSize[16]; +0x0000 2b 10 00 00 }; */ /* struct { /* unsigned char DeviceQueueEntry[0]; +0x0000 1f 12 00 00 unsigned char DriverContext[32]; +0x0000 20 12 00 00 unsigned char Thread[8]; +0x0020 22 12 00 00 char *AuxiliaryBuffer; +0x0028 unsigned char ListEntry[16]; +0x0030 75 10 00 00 /* unsigned char CurrentStackLocation[0]; +0x0040 24 12 00 00 unsigned long PacketType; +0x0040 unsigned char OriginalFileObject[8]; +0x0048 26 12 00 00 void *IrpExtension; +0x0050 }; */ /* struct { /* unsigned char Overlay[0]; +0x0000 28 12 00 00 /* unsigned char Apc[0]; +0x0000 29 12 00 00 void *CompletionKey; +0x0000 }; */ struct _IRP { short Type; /* +0x0000 */ unsigned short Size; /* +0x0002 */ unsigned char MdlAddress[8]; /* +0x0008 10 12 00 00 */ unsigned long Flags; /* +0x0010 */ unsigned char AssociatedIrp[8]; /* +0x0018 12 12 00 00 */ unsigned char ThreadListEntry[16]; /* +0x0020 75 10 00 00 */ unsigned char IoStatus[16]; /* +0x0030 d9 11 00 00 */ char RequestorMode; /* +0x0040 */ unsigned char PendingReturned; /* +0x0041 */ char StackCount; /* +0x0042 */ char CurrentLocation; /* +0x0043 */ unsigned char Cancel; /* +0x0044 */ unsigned char CancelIrql; /* +0x0045 */ char ApcEnvironment; /* +0x0046 */ unsigned char AllocationFlags; /* +0x0047 */ unsigned char UserIosb[8]; /* +0x0048 da 11 00 00 */ unsigned char UserEvent[8]; /* +0x0050 62 11 00 00 */ unsigned char Overlay[16]; /* +0x0058 19 12 00 00 */ unsigned char CancelRoutine[8]; /* +0x0068 1e 12 00 00 */ void *UserBuffer; /* +0x0070 */ unsigned char Tail[88]; /* +0x0078 2b 12 00 00 */ }; /* struct { unsigned char SecurityContext[8]; +0x0000 30 12 00 00 unsigned long Options; +0x0008 unsigned short FileAttributes; +0x0010 unsigned short ShareAccess; +0x0012 unsigned long EaLength; +0x0018 }; */ /* struct { unsigned char SecurityContext[8]; +0x0000 30 12 00 00 unsigned long Options; +0x0008 unsigned short Reserved; +0x0010 unsigned short ShareAccess; +0x0012 unsigned char Parameters[8]; +0x0018 34 12 00 00 }; */ /* struct { unsigned char SecurityContext[8]; +0x0000 30 12 00 00 unsigned long Options; +0x0008 unsigned short Reserved; +0x0010 unsigned short ShareAccess; +0x0012 unsigned char Parameters[8]; +0x0018 38 12 00 00 }; */ /* struct { unsigned long Length; +0x0000 unsigned long Key; +0x0008 unsigned char ByteOffset[8]; +0x0010 2b 10 00 00 }; */ enum _FILE_INFORMATION_CLASS { FileDirectoryInformation = 1, FileFullDirectoryInformation = 2, FileBothDirectoryInformation = 3, FileBasicInformation = 4, FileStandardInformation = 5, FileInternalInformation = 6, FileEaInformation = 7, FileAccessInformation = 8, FileNameInformation = 9, FileRenameInformation = 10, FileLinkInformation = 11, FileNamesInformation = 12, FileDispositionInformation = 13, FilePositionInformation = 14, FileFullEaInformation = 15, FileModeInformation = 16, FileAlignmentInformation = 17, FileAllInformation = 18, FileAllocationInformation = 19, FileEndOfFileInformation = 20, FileAlternateNameInformation = 21, FileStreamInformation = 22, FilePipeInformation = 23, FilePipeLocalInformation = 24, FilePipeRemoteInformation = 25, FileMailslotQueryInformation = 26, FileMailslotSetInformation = 27, FileCompressionInformation = 28, FileObjectIdInformation = 29, FileCompletionInformation = 30, FileMoveClusterInformation = 31, FileQuotaInformation = 32, FileReparsePointInformation = 33, FileNetworkOpenInformation = 34, FileAttributeTagInformation = 35, FileTrackingInformation = 36, FileIdBothDirectoryInformation = 37, FileIdFullDirectoryInformation = 38, FileValidDataLengthInformation = 39, FileShortNameInformation = 40, FileIoCompletionNotificationInformation = 41, FileIoStatusBlockRangeInformation = 42, FileIoPriorityHintInformation = 43, FileSfioReserveInformation = 44, FileSfioVolumeInformation = 45, FileHardLinkInformation = 46, FileProcessIdsUsingFileInformation = 47, FileNormalizedNameInformation = 48, FileNetworkPhysicalNameInformation = 49, FileIdGlobalTxDirectoryInformation = 50, FileIsRemoteDeviceInformation = 51, FileAttributeCacheInformation = 52, FileNumaNodeInformation = 53, FileStandardLinkInformation = 54, FileRemoteProtocolInformation = 55, FileRenameInformationBypassAccessCheck = 56, FileLinkInformationBypassAccessCheck = 57, FileIntegrityStreamInformation = 58, FileVolumeNameInformation = 59, FileMaximumInformation = 60 }; /* struct { unsigned long Length; +0x0000 unsigned char FileName[8]; +0x0008 db 10 00 00 unsigned char FileInformationClass[8]; +0x0010 3e 12 00 00 unsigned long FileIndex; +0x0018 }; */ /* struct { unsigned long Length; +0x0000 unsigned long CompletionFilter; +0x0008 }; */ /* struct { unsigned long Length; +0x0000 unsigned char FileInformationClass[8]; +0x0008 3e 12 00 00 }; */ /* struct { unsigned long Length; +0x0000 unsigned char FileInformationClass[8]; +0x0008 3e 12 00 00 unsigned char FileObject[8]; +0x0010 26 12 00 00 unsigned char ReplaceIfExists; +0x0018 unsigned char AdvanceOnly; +0x0019 unsigned long ClusterCount; +0x0018 void *DeleteHandle; +0x0018 }; */ enum _FSINFOCLASS { FileFsVolumeInformation = 1, FileFsLabelInformation = 2, FileFsSizeInformation = 3, FileFsDeviceInformation = 4, FileFsAttributeInformation = 5, FileFsControlInformation = 6, FileFsFullSizeInformation = 7, FileFsObjectIdInformation = 8, FileFsDriverPathInformation = 9, FileFsVolumeFlagsInformation = 10, FileFsSectorSizeInformation = 11, FileFsMaximumInformation = 12 }; /* struct { unsigned long Length; +0x0000 unsigned char FsInformationClass[8]; +0x0008 48 12 00 00 }; */ /* struct { unsigned long OutputBufferLength; +0x0000 unsigned long InputBufferLength; +0x0008 unsigned long FsControlCode; +0x0010 void *Type3InputBuffer; +0x0018 }; */ /* struct { unsigned char Length[8]; +0x0000 e6 10 00 00 unsigned long Key; +0x0008 unsigned char ByteOffset[8]; +0x0010 2b 10 00 00 }; */ /* struct { unsigned long OutputBufferLength; +0x0000 unsigned long InputBufferLength; +0x0008 unsigned long IoControlCode; +0x0010 void *Type3InputBuffer; +0x0018 }; */ /* struct { unsigned long SecurityInformation; +0x0000 unsigned long Length; +0x0008 }; */ /* struct { unsigned long SecurityInformation; +0x0000 void *SecurityDescriptor; +0x0008 }; */ /* struct { unsigned char Vpb[8]; +0x0000 56 12 00 00 unsigned char DeviceObject[8]; +0x0008 1b 12 00 00 }; */ /* struct { unsigned char Srb[8]; +0x0000 5a 12 00 00 }; */ enum _DEVICE_RELATION_TYPE { BusRelations = 0, EjectionRelations = 1, PowerRelations = 2, RemovalRelations = 3, TargetDeviceRelation = 4, SingleBusRelations = 5, TransportRelations = 6 }; /* struct { unsigned char Type[4]; +0x0000 5e 12 00 00 }; */ /* struct { unsigned char InterfaceType[8]; +0x0000 62 12 00 00 unsigned short Size; +0x0008 unsigned short Version; +0x000a unsigned char Interface[8]; +0x0010 64 12 00 00 void *InterfaceSpecificData; +0x0018 }; */ /* struct { unsigned char Capabilities[8]; +0x0000 68 12 00 00 }; */ /* struct { unsigned char IoResourceRequirementList[8]; +0x0000 6c 12 00 00 }; */ /* struct { unsigned long WhichSpace; +0x0000 void *Buffer; +0x0008 unsigned long Offset; +0x0010 unsigned long Length; +0x0018 }; */ /* struct { unsigned char Lock; +0x0000 }; */ enum BUS_QUERY_ID_TYPE { BusQueryDeviceID = 0, BusQueryHardwareIDs = 1, BusQueryCompatibleIDs = 2, BusQueryInstanceID = 3, BusQueryDeviceSerialNumber = 4, BusQueryContainerID = 5 }; /* struct { unsigned char IdType[4]; +0x0000 74 12 00 00 }; */ enum DEVICE_TEXT_TYPE { DeviceTextDescription = 0, DeviceTextLocationInformation = 1 }; /* struct { unsigned char DeviceTextType[8]; +0x0000 78 12 00 00 unsigned long LocaleId; +0x0008 }; */ enum _DEVICE_USAGE_NOTIFICATION_TYPE { DeviceUsageTypeUndefined = 0, DeviceUsageTypePaging = 1, DeviceUsageTypeHibernation = 2, DeviceUsageTypeDumpFile = 3, DeviceUsageTypeBoot = 4 }; /* struct { unsigned char InPath; +0x0000 unsigned char Reserved[7]; +0x0001 31 10 00 00 unsigned char Type[8]; +0x0008 7c 12 00 00 }; */ enum _SYSTEM_POWER_STATE { PowerSystemUnspecified = 0, PowerSystemWorking = 1, PowerSystemSleeping1 = 2, PowerSystemSleeping2 = 3, PowerSystemSleeping3 = 4, PowerSystemHibernate = 5, PowerSystemShutdown = 6, PowerSystemMaximum = 7 }; /* struct { unsigned char PowerState[4]; +0x0000 80 12 00 00 }; */ /* struct { unsigned char PowerSequence[8]; +0x0000 84 12 00 00 }; */ enum _POWER_STATE_TYPE { SystemPowerState = 0, DevicePowerState = 1 }; enum POWER_ACTION { PowerActionNone = 0, PowerActionReserved = 1, PowerActionSleep = 2, PowerActionHibernate = 3, PowerActionShutdown = 4, PowerActionShutdownReset = 5, PowerActionShutdownOff = 6, PowerActionWarmEject = 7 }; /* struct { unsigned long SystemContext; +0x0000 unsigned char SystemPowerStateContext[8]; +0x0000 87 12 00 00 unsigned char Type[8]; +0x0008 89 12 00 00 unsigned char State[8]; +0x0010 8a 12 00 00 unsigned char ShutdownType[8]; +0x0018 8c 12 00 00 }; */ /* struct { unsigned char AllocatedResources[8]; +0x0000 90 12 00 00 unsigned char AllocatedResourcesTranslated[8]; +0x0008 90 12 00 00 }; */ /* struct { unsigned long long ProviderId; +0x0000 void *DataPath; +0x0008 unsigned long BufferSize; +0x0010 void *Buffer; +0x0018 }; */ /* struct { void *Argument1; +0x0000 void *Argument2; +0x0008 void *Argument3; +0x0010 void *Argument4; +0x0018 }; */ /* struct { /* unsigned char Create[0]; +0x0000 32 12 00 00 /* unsigned char CreatePipe[0]; +0x0000 36 12 00 00 /* unsigned char CreateMailslot[0]; +0x0000 3a 12 00 00 /* unsigned char Read[0]; +0x0000 3c 12 00 00 /* unsigned char Write[0]; +0x0000 3c 12 00 00 /* unsigned char QueryDirectory[0]; +0x0000 40 12 00 00 /* unsigned char NotifyDirectory[0]; +0x0000 42 12 00 00 /* unsigned char QueryFile[0]; +0x0000 44 12 00 00 /* unsigned char SetFile[0]; +0x0000 46 12 00 00 /* unsigned char QueryVolume[0]; +0x0000 4a 12 00 00 /* unsigned char FileSystemControl[0]; +0x0000 4c 12 00 00 /* unsigned char LockControl[0]; +0x0000 4e 12 00 00 /* unsigned char DeviceIoControl[0]; +0x0000 50 12 00 00 /* unsigned char QuerySecurity[0]; +0x0000 52 12 00 00 /* unsigned char SetSecurity[0]; +0x0000 54 12 00 00 /* unsigned char MountVolume[0]; +0x0000 58 12 00 00 /* unsigned char VerifyVolume[0]; +0x0000 58 12 00 00 /* unsigned char Scsi[0]; +0x0000 5c 12 00 00 /* unsigned char QueryDeviceRelations[0]; +0x0000 60 12 00 00 /* unsigned char QueryInterface[0]; +0x0000 66 12 00 00 /* unsigned char DeviceCapabilities[0]; +0x0000 6a 12 00 00 /* unsigned char FilterResourceRequirements[0]; +0x0000 6e 12 00 00 /* unsigned char ReadWriteConfig[0]; +0x0000 70 12 00 00 /* unsigned char SetLock[0]; +0x0000 72 12 00 00 /* unsigned char QueryId[0]; +0x0000 76 12 00 00 /* unsigned char QueryDeviceText[0]; +0x0000 7a 12 00 00 /* unsigned char UsageNotification[0]; +0x0000 7e 12 00 00 /* unsigned char WaitWake[0]; +0x0000 82 12 00 00 /* unsigned char PowerSequence[0]; +0x0000 86 12 00 00 /* unsigned char Power[0]; +0x0000 8e 12 00 00 /* unsigned char StartDevice[0]; +0x0000 92 12 00 00 /* unsigned char WMI[0]; +0x0000 94 12 00 00 unsigned char Others[32]; +0x0000 96 12 00 00 }; */ struct _IO_STACK_LOCATION { unsigned char MajorFunction; /* +0x0000 */ unsigned char MinorFunction; /* +0x0001 */ unsigned char Flags; /* +0x0002 */ unsigned char Control; /* +0x0003 */ unsigned char Parameters[32]; /* +0x0008 98 12 00 00 */ unsigned char DeviceObject[8]; /* +0x0028 1b 12 00 00 */ unsigned char FileObject[8]; /* +0x0030 26 12 00 00 */ unsigned char CompletionRoutine[8]; /* +0x0038 9b 12 00 00 */ void *Context; /* +0x0040 */ }; /* struct { /* unsigned char ListEntry[0]; +0x0000 75 10 00 00 unsigned char Wcb[72]; +0x0000 ad 12 00 00 }; */ struct _DEVICE_OBJECT { short Type; /* +0x0000 */ unsigned short Size; /* +0x0002 */ long ReferenceCount; /* +0x0004 */ unsigned char DriverObject[8]; /* +0x0008 aa 12 00 00 */ unsigned char NextDevice[8]; /* +0x0010 1b 12 00 00 */ unsigned char AttachedDevice[8]; /* +0x0018 1b 12 00 00 */ unsigned char CurrentIrp[8]; /* +0x0020 0e 12 00 00 */ unsigned char Timer[8]; /* +0x0028 ac 12 00 00 */ unsigned long Flags; /* +0x0030 */ unsigned long Characteristics; /* +0x0034 */ unsigned char Vpb[8]; /* +0x0038 56 12 00 00 */ void *DeviceExtension; /* +0x0040 */ unsigned long DeviceType; /* +0x0048 */ char StackSize; /* +0x004c */ unsigned char Queue[72]; /* +0x0050 af 12 00 00 */ unsigned long AlignmentRequirement; /* +0x0098 */ unsigned char DeviceQueue[40]; /* +0x00a0 b0 12 00 00 */ unsigned char Dpc[64]; /* +0x00c8 a1 12 00 00 */ unsigned long ActiveThreadCount; /* +0x0108 */ void *SecurityDescriptor; /* +0x0110 */ unsigned char DeviceLock[24]; /* +0x0118 5f 11 00 00 */ unsigned short SectorSize; /* +0x0130 */ unsigned short Spare1; /* +0x0132 */ unsigned char DeviceObjectExtension[8]; /* +0x0138 b2 12 00 00 */ void *Reserved; /* +0x0140 */ }; struct _KDPC { unsigned char Type; /* +0x0000 */ unsigned char Importance; /* +0x0001 */ unsigned char Number[6]; /* +0x0002 9f 10 00 00 */ unsigned char DpcListEntry[16]; /* +0x0008 75 10 00 00 */ unsigned char DeferredRoutine[8]; /* +0x0018 a5 12 00 00 */ void *DeferredContext; /* +0x0020 */ void *SystemArgument1; /* +0x0028 */ void *SystemArgument2; /* +0x0030 */ void *DpcData; /* +0x0038 */ }; struct _IO_DRIVER_CREATE_CONTEXT { short Size; /* +0x0000 */ unsigned char ExtraCreateParameter[8]; /* +0x0008 c7 12 00 00 */ void *DeviceObjectHint; /* +0x0010 */ unsigned char TxnParameters[8]; /* +0x0018 c9 12 00 00 */ }; enum _DEVICE_POWER_STATE { PowerDeviceUnspecified = 0, PowerDeviceD0 = 1, PowerDeviceD1 = 2, PowerDeviceD2 = 3, PowerDeviceD3 = 4, PowerDeviceMaximum = 5 }; enum _DEVICE_WAKE_DEPTH { DeviceWakeDepthNotWakeable = 0, DeviceWakeDepthD0 = 1, DeviceWakeDepthD1 = 2, DeviceWakeDepthD2 = 3, DeviceWakeDepthD3hot = 4, DeviceWakeDepthD3cold = 5, DeviceWakeDepthMaximum = 6 }; struct _MDL { unsigned char Next[8]; /* +0x0000 10 12 00 00 */ short Size; /* +0x0008 */ short MdlFlags; /* +0x000a */ unsigned char Process[8]; /* +0x0010 d4 12 00 00 */ void *MappedSystemVa; /* +0x0018 */ void *StartVa; /* +0x0020 */ unsigned long ByteCount; /* +0x0028 */ unsigned long ByteOffset; /* +0x002c */ }; enum _MEMORY_CACHING_TYPE { MmNonCached = 0, MmCached = 1, MmWriteCombined = 2, MmHardwareCoherentCached = 3, MmNonCachedUnordered = 4, MmUSWCCached = 5, MmMaximumCacheType = 6 }; struct _DMA_ADAPTER { unsigned short Version; /* +0x0000 */ unsigned short Size; /* +0x0002 */ unsigned char DmaOperations[8]; /* +0x0008 e3 12 00 00 */ }; enum _IO_ALLOCATION_ACTION { KeepObject = 1, DeallocateObject = 2, DeallocateObjectKeepRegisters = 3 }; enum DMA_COMPLETION_STATUS { DmaComplete = 0, DmaAborted = 1, DmaError = 2, DmaCancelled = 3 }; struct _DMA_OPERATIONS { unsigned long Size; /* +0x0000 */ unsigned char PutDmaAdapter[8]; /* +0x0008 e9 12 00 00 */ unsigned char AllocateCommonBuffer[8]; /* +0x0010 ec 12 00 00 */ unsigned char FreeCommonBuffer[8]; /* +0x0018 ef 12 00 00 */ unsigned char AllocateAdapterChannel[8]; /* +0x0020 f7 12 00 00 */ unsigned char FlushAdapterBuffers[8]; /* +0x0028 fa 12 00 00 */ unsigned char FreeAdapterChannel[8]; /* +0x0030 e9 12 00 00 */ unsigned char FreeMapRegisters[8]; /* +0x0038 fd 12 00 00 */ unsigned char MapTransfer[8]; /* +0x0040 00 13 00 00 */ unsigned char GetDmaAlignment[8]; /* +0x0048 02 13 00 00 */ unsigned char ReadDmaCounter[8]; /* +0x0050 02 13 00 00 */ unsigned char GetScatterGatherList[8]; /* +0x0058 0a 13 00 00 */ unsigned char PutScatterGatherList[8]; /* +0x0060 0d 13 00 00 */ unsigned char CalculateScatterGatherList[8]; /* +0x0068 10 13 00 00 */ unsigned char BuildScatterGatherList[8]; /* +0x0070 13 13 00 00 */ unsigned char BuildMdlFromScatterGatherList[8]; /* +0x0078 16 13 00 00 */ unsigned char GetDmaAdapterInfo[8]; /* +0x0080 1b 13 00 00 */ unsigned char GetDmaTransferInfo[8]; /* +0x0088 20 13 00 00 */ unsigned char InitializeDmaTransferContext[8]; /* +0x0090 23 13 00 00 */ unsigned char AllocateCommonBufferEx[8]; /* +0x0098 26 13 00 00 */ unsigned char AllocateAdapterChannelEx[8]; /* +0x00a0 29 13 00 00 */ unsigned char ConfigureAdapterChannel[8]; /* +0x00a8 2c 13 00 00 */ unsigned char CancelAdapterChannel[8]; /* +0x00b0 2f 13 00 00 */ unsigned char MapTransferEx[8]; /* +0x00b8 37 13 00 00 */ unsigned char GetScatterGatherListEx[8]; /* +0x00c0 3b 13 00 00 */ unsigned char BuildScatterGatherListEx[8]; /* +0x00c8 3e 13 00 00 */ unsigned char FlushAdapterBuffersEx[8]; /* +0x00d0 41 13 00 00 */ unsigned char FreeAdapterObject[8]; /* +0x00d8 44 13 00 00 */ unsigned char CancelMappedTransfer[8]; /* +0x00e0 23 13 00 00 */ }; /* struct { /* unsigned char InitialPrivilegeSet[0]; +0x0000 52 13 00 00 unsigned char PrivilegeSet[44]; +0x0000 53 13 00 00 }; */ struct _ACCESS_STATE { unsigned char OperationID[8]; /* +0x0000 ed 10 00 00 */ unsigned char SecurityEvaluated; /* +0x0008 */ unsigned char GenerateAudit; /* +0x0009 */ unsigned char GenerateOnClose; /* +0x000a */ unsigned char PrivilegesAllocated; /* +0x000b */ unsigned long Flags; /* +0x000c */ unsigned long RemainingDesiredAccess; /* +0x0010 */ unsigned long PreviouslyGrantedAccess; /* +0x0014 */ unsigned long OriginalDesiredAccess; /* +0x0018 */ unsigned char SubjectSecurityContext[32]; /* +0x0020 51 13 00 00 */ void *SecurityDescriptor; /* +0x0040 */ void *AuxData; /* +0x0048 */ unsigned char Privileges[44]; /* +0x0050 55 13 00 00 */ unsigned char AuditPrivileges; /* +0x007c */ unsigned char ObjectName[16]; /* +0x0080 96 10 00 00 */ unsigned char ObjectTypeName[16]; /* +0x0090 96 10 00 00 */ }; struct _AUX_ACCESS_DATA { unsigned char PrivilegesUsed[8]; /* +0x0000 5a 13 00 00 */ unsigned char GenericMapping[16]; /* +0x0008 5b 13 00 00 */ unsigned long AccessesToAudit; /* +0x0018 */ unsigned long MaximumAuditMask; /* +0x001c */ unsigned char TransactionId[16]; /* +0x0020 9b 10 00 00 */ void *NewSecurityDescriptor; /* +0x0030 */ void *ExistingSecurityDescriptor; /* +0x0038 */ void *ParentSecurityDescriptor; /* +0x0040 */ unsigned char DeRefSecurityDescriptor[8]; /* +0x0048 58 10 00 00 */ void *SDLock; /* +0x0050 */ unsigned char AccessReasons[128]; /* +0x0058 5c 13 00 00 */ unsigned char GenerateStagingEvents; /* +0x00d8 */ }; struct _OBJECT_HANDLE_INFORMATION { unsigned long HandleAttributes; /* +0x0000 */ unsigned long GrantedAccess; /* +0x0004 */ }; struct _OBJECT_TYPE { unsigned char TypeList[16]; /* +0x0000 75 10 00 00 */ unsigned char Name[16]; /* +0x0010 96 10 00 00 */ void *DefaultObject; /* +0x0020 */ unsigned char Index; /* +0x0028 */ unsigned long TotalNumberOfObjects; /* +0x002c */ unsigned long TotalNumberOfHandles; /* +0x0030 */ unsigned long HighWaterNumberOfObjects; /* +0x0034 */ unsigned long HighWaterNumberOfHandles; /* +0x0038 */ unsigned char TypeInfo[120]; /* +0x0040 6c 13 00 00 */ unsigned char TypeLock[8]; /* +0x00b8 f1 11 00 00 */ unsigned long Key; /* +0x00c0 */ unsigned char CallbackList[16]; /* +0x00c8 75 10 00 00 */ }; enum _WHEA_ERROR_TYPE { WheaErrTypeProcessor = 0, WheaErrTypeMemory = 1, WheaErrTypePCIExpress = 2, WheaErrTypeNMI = 3, WheaErrTypePCIXBus = 4, WheaErrTypePCIXDevice = 5, WheaErrTypeGeneric = 6 }; enum _WHEA_ERROR_SEVERITY { WheaErrSevRecoverable = 0, WheaErrSevFatal = 1, WheaErrSevCorrected = 2, WheaErrSevInformational = 3 }; enum _WHEA_ERROR_SOURCE_TYPE { WheaErrSrcTypeMCE = 0, WheaErrSrcTypeCMC = 1, WheaErrSrcTypeCPE = 2, WheaErrSrcTypeNMI = 3, WheaErrSrcTypePCIe = 4, WheaErrSrcTypeGeneric = 5, WheaErrSrcTypeINIT = 6, WheaErrSrcTypeBOOT = 7, WheaErrSrcTypeSCIGeneric = 8, WheaErrSrcTypeIPFMCA = 9, WheaErrSrcTypeIPFCMC = 10, WheaErrSrcTypeIPFCPE = 11, WheaErrSrcTypeMax = 12 }; enum _WHEA_ERROR_PACKET_DATA_FORMAT { WheaDataFormatIPFSalRecord = 0, WheaDataFormatXPFMCA = 1, WheaDataFormatMemory = 2, WheaDataFormatPCIExpress = 3, WheaDataFormatNMIPort = 4, WheaDataFormatPCIXBus = 5, WheaDataFormatPCIXDevice = 6, WheaDataFormatGeneric = 7, WheaDataFormatMax = 8 }; struct _WHEA_ERROR_PACKET_V2 { unsigned long Signature; /* +0x0000 */ unsigned long Version; /* +0x0004 */ unsigned long Length; /* +0x0008 */ unsigned char Flags[4]; /* +0x000c 71 13 00 00 */ unsigned char ErrorType[4]; /* +0x0010 73 13 00 00 */ unsigned char ErrorSeverity[4]; /* +0x0014 75 13 00 00 */ unsigned long ErrorSourceId; /* +0x0018 */ unsigned char ErrorSourceType[4]; /* +0x001c 77 13 00 00 */ unsigned char NotifyType[16]; /* +0x0020 9b 10 00 00 */ unsigned long long Context; /* +0x0030 */ unsigned char DataFormat[4]; /* +0x0038 79 13 00 00 */ unsigned long Reserved1; /* +0x003c */ unsigned long DataOffset; /* +0x0040 */ unsigned long DataLength; /* +0x0044 */ unsigned long PshedDataOffset; /* +0x0048 */ unsigned long PshedDataLength; /* +0x004c */ }; struct _WHEA_ERROR_RECORD { unsigned char Header[128]; /* +0x0000 7e 13 00 00 */ unsigned char SectionDescriptor[72]; /* +0x0080 80 13 00 00 */ }; struct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR { unsigned long SectionOffset; /* +0x0000 */ unsigned long SectionLength; /* +0x0004 */ unsigned char Revision[2]; /* +0x0008 85 13 00 00 */ unsigned char ValidBits[1]; /* +0x000a 86 13 00 00 */ unsigned char Reserved; /* +0x000b */ unsigned char Flags[4]; /* +0x000c 87 13 00 00 */ unsigned char SectionType[16]; /* +0x0010 9b 10 00 00 */ unsigned char FRUId[16]; /* +0x0020 9b 10 00 00 */ unsigned char SectionSeverity[4]; /* +0x0030 75 13 00 00 */ unsigned char FRUText[20]; /* +0x0034 88 13 00 00 */ }; struct _GUID { unsigned long Data1; /* +0x0000 */ unsigned short Data2; /* +0x0004 */ unsigned short Data3; /* +0x0006 */ unsigned char Data4[8]; /* +0x0008 90 13 00 00 */ }; struct _WDF_DRIVER_GLOBALS { unsigned char Driver[8]; /* +0x0000 f8 13 00 00 */ unsigned long DriverFlags; /* +0x0008 */ unsigned long DriverTag; /* +0x000c */ unsigned char DriverName[32]; /* +0x0010 f9 13 00 00 */ unsigned char DisplaceDriverUnload; /* +0x0030 */ }; enum _WDF_EXECUTION_LEVEL { WdfExecutionLevelInvalid = 0, WdfExecutionLevelInheritFromParent = 1, WdfExecutionLevelPassive = 2, WdfExecutionLevelDispatch = 3 }; enum _WDF_SYNCHRONIZATION_SCOPE { WdfSynchronizationScopeInvalid = 0, WdfSynchronizationScopeInheritFromParent = 1, WdfSynchronizationScopeDevice = 2, WdfSynchronizationScopeQueue = 3, WdfSynchronizationScopeNone = 4 }; struct _WDF_OBJECT_ATTRIBUTES { unsigned long Size; /* +0x0000 */ unsigned char EvtCleanupCallback[8]; /* +0x0008 a6 11 00 00 */ unsigned char EvtDestroyCallback[8]; /* +0x0010 a6 11 00 00 */ unsigned char ExecutionLevel[4]; /* +0x0018 02 14 00 00 */ unsigned char SynchronizationScope[4]; /* +0x001c 04 14 00 00 */ void *ParentObject; /* +0x0020 */ unsigned long long ContextSizeOverride; /* +0x0028 */ unsigned char ContextTypeInfo[8]; /* +0x0030 07 14 00 00 */ }; struct _WDF_OBJECT_CONTEXT_TYPE_INFO { unsigned long Size; /* +0x0000 */ char *ContextName; /* +0x0008 */ unsigned long long ContextSize; /* +0x0010 */ unsigned char UniqueType[8]; /* +0x0018 07 14 00 00 */ unsigned char EvtDriverGetUniqueContextType[8]; /* +0x0020 10 14 00 00 */ }; struct WDFWAITLOCK__ { unsigned char unused[4]; /* +0x0000 74 00 00 00 */ }; struct _WDF_DRIVER_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char EvtDriverDeviceAdd[8]; /* +0x0008 45 14 00 00 */ unsigned char EvtDriverUnload[8]; /* +0x0010 48 14 00 00 */ unsigned long DriverInitFlags; /* +0x0018 */ unsigned long DriverPoolTag; /* +0x001c */ }; struct _WDF_DRIVER_VERSION_AVAILABLE_PARAMS { unsigned long Size; /* +0x0000 */ unsigned long MajorVersion; /* +0x0004 */ unsigned long MinorVersion; /* +0x0008 */ }; struct _DRIVER_OBJECT { short Type; /* +0x0000 */ short Size; /* +0x0002 */ unsigned char DeviceObject[8]; /* +0x0008 1b 12 00 00 */ unsigned long Flags; /* +0x0010 */ void *DriverStart; /* +0x0018 */ unsigned long DriverSize; /* +0x0020 */ void *DriverSection; /* +0x0028 */ unsigned char DriverExtension[8]; /* +0x0030 56 14 00 00 */ unsigned char DriverName[16]; /* +0x0038 96 10 00 00 */ unsigned char HardwareDatabase[8]; /* +0x0048 db 10 00 00 */ unsigned char FastIoDispatch[8]; /* +0x0050 58 14 00 00 */ unsigned char DriverInit[8]; /* +0x0058 5b 14 00 00 */ unsigned char DriverStartIo[8]; /* +0x0060 1e 12 00 00 */ unsigned char DriverUnload[8]; /* +0x0068 5e 14 00 00 */ unsigned char MajorFunction[224]; /* +0x0070 61 14 00 00 */ }; struct _WDF_QUERY_INTERFACE_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char Interface[8]; /* +0x0008 64 12 00 00 */ unsigned char InterfaceType[8]; /* +0x0010 62 12 00 00 */ unsigned char SendQueryToParentStack; /* +0x0018 */ unsigned char EvtDeviceProcessQueryInterfaceRequest[8]; /* +0x0020 88 14 00 00 */ unsigned char ImportInterface; /* +0x0028 */ }; struct _INTERFACE { unsigned short Size; /* +0x0000 */ unsigned short Version; /* +0x0002 */ void *Context; /* +0x0008 */ unsigned char InterfaceReference[8]; /* +0x0010 a6 11 00 00 */ unsigned char InterfaceDereference[8]; /* +0x0018 a6 11 00 00 */ }; enum _WDF_MEMORY_DESCRIPTOR_TYPE { WdfMemoryDescriptorTypeInvalid = 0, WdfMemoryDescriptorTypeBuffer = 1, WdfMemoryDescriptorTypeMdl = 2, WdfMemoryDescriptorTypeHandle = 3 }; /* struct { void *Buffer; +0x0000 unsigned long Length; +0x0008 }; */ /* struct { unsigned char Mdl[8]; +0x0000 10 12 00 00 unsigned long BufferLength; +0x0008 }; */ /* struct { unsigned char Memory[8]; +0x0000 9d 14 00 00 unsigned char Offsets[8]; +0x0008 9f 14 00 00 }; */ /* struct { /* unsigned char BufferType[0]; +0x0000 99 14 00 00 /* unsigned char MdlType[0]; +0x0000 9b 14 00 00 unsigned char HandleType[16]; +0x0000 a1 14 00 00 }; */ struct _WDF_MEMORY_DESCRIPTOR { unsigned char Type[8]; /* +0x0000 97 14 00 00 */ unsigned char u[16]; /* +0x0008 a3 14 00 00 */ }; struct _WDFMEMORY_OFFSET { unsigned long long BufferOffset; /* +0x0000 */ unsigned long long BufferLength; /* +0x0008 */ }; struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER { unsigned long IdentificationDescriptionSize; /* +0x0000 */ }; struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER { unsigned long AddressDescriptionSize; /* +0x0000 */ }; enum _WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS { WdfChildListRetrieveDeviceUndefined = 0, WdfChildListRetrieveDeviceSuccess = 1, WdfChildListRetrieveDeviceNotYetCreated = 2, WdfChildListRetrieveDeviceNoSuchDevice = 3 }; struct _WDF_CHILD_RETRIEVE_INFO { unsigned long Size; /* +0x0000 */ unsigned char IdentificationDescription[8]; /* +0x0008 c6 14 00 00 */ unsigned char AddressDescription[8]; /* +0x0010 ca 14 00 00 */ unsigned char Status[8]; /* +0x0018 d0 14 00 00 */ unsigned char EvtChildListIdentificationDescriptionCompare[8]; /* +0x0020 d5 14 00 00 */ }; struct _WDF_CHILD_LIST_CONFIG { unsigned long Size; /* +0x0000 */ unsigned long IdentificationDescriptionSize; /* +0x0004 */ unsigned long AddressDescriptionSize; /* +0x0008 */ unsigned char EvtChildListCreateDevice[8]; /* +0x0010 dd 14 00 00 */ unsigned char EvtChildListScanForChildren[8]; /* +0x0018 e0 14 00 00 */ unsigned char EvtChildListIdentificationDescriptionCopy[8]; /* +0x0020 e2 14 00 00 */ unsigned char EvtChildListIdentificationDescriptionDuplicate[8]; /* +0x0028 e4 14 00 00 */ unsigned char EvtChildListIdentificationDescriptionCleanup[8]; /* +0x0030 e7 14 00 00 */ unsigned char EvtChildListIdentificationDescriptionCompare[8]; /* +0x0038 d5 14 00 00 */ unsigned char EvtChildListAddressDescriptionCopy[8]; /* +0x0040 ea 14 00 00 */ unsigned char EvtChildListAddressDescriptionDuplicate[8]; /* +0x0048 ec 14 00 00 */ unsigned char EvtChildListAddressDescriptionCleanup[8]; /* +0x0050 ef 14 00 00 */ unsigned char EvtChildListDeviceReenumerated[8]; /* +0x0058 f2 14 00 00 */ }; struct _WDF_CHILD_LIST_ITERATOR { unsigned long Size; /* +0x0000 */ unsigned long Flags; /* +0x0004 */ unsigned char Reserved[32]; /* +0x0008 20 12 00 00 */ }; struct _FILE_OBJECT { short Type; /* +0x0000 */ short Size; /* +0x0002 */ unsigned char DeviceObject[8]; /* +0x0008 1b 12 00 00 */ unsigned char Vpb[8]; /* +0x0010 56 12 00 00 */ void *FsContext; /* +0x0018 */ void *FsContext2; /* +0x0020 */ unsigned char SectionObjectPointer[8]; /* +0x0028 23 15 00 00 */ void *PrivateCacheMap; /* +0x0030 */ long FinalStatus; /* +0x0038 */ unsigned char RelatedFileObject[8]; /* +0x0040 26 12 00 00 */ unsigned char LockOperation; /* +0x0048 */ unsigned char DeletePending; /* +0x0049 */ unsigned char ReadAccess; /* +0x004a */ unsigned char WriteAccess; /* +0x004b */ unsigned char DeleteAccess; /* +0x004c */ unsigned char SharedRead; /* +0x004d */ unsigned char SharedWrite; /* +0x004e */ unsigned char SharedDelete; /* +0x004f */ unsigned long Flags; /* +0x0050 */ unsigned char FileName[16]; /* +0x0058 96 10 00 00 */ unsigned char CurrentByteOffset[8]; /* +0x0068 2b 10 00 00 */ unsigned long Waiters; /* +0x0070 */ unsigned long Busy; /* +0x0074 */ void *LastLock; /* +0x0078 */ unsigned char Lock[24]; /* +0x0080 5f 11 00 00 */ unsigned char Event[24]; /* +0x0098 5f 11 00 00 */ unsigned char CompletionContext[8]; /* +0x00b0 25 15 00 00 */ unsigned long long IrpListLock; /* +0x00b8 */ unsigned char IrpList[16]; /* +0x00c0 75 10 00 00 */ void *FileObjectExtension; /* +0x00d0 */ }; enum _WDF_TRI_STATE { WdfFalse = 0, WdfTrue = 1, WdfUseDefault = 2 }; enum _WDF_FILEOBJECT_CLASS { WdfFileObjectInvalid = 0, WdfFileObjectNotRequired = 1, WdfFileObjectWdfCanUseFsContext = 2, WdfFileObjectWdfCanUseFsContext2 = 3, WdfFileObjectWdfCannotUseFsContexts = 4, = 32771 }; struct _WDF_FILEOBJECT_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char EvtDeviceFileCreate[8]; /* +0x0008 2e 15 00 00 */ unsigned char EvtFileClose[8]; /* +0x0010 31 15 00 00 */ unsigned char EvtFileCleanup[8]; /* +0x0018 31 15 00 00 */ unsigned char AutoForwardCleanupClose[4]; /* +0x0020 33 15 00 00 */ unsigned char FileObjectClass[4]; /* +0x0024 35 15 00 00 */ }; struct _WDF_POWER_POLICY_EVENT_CALLBACKS { unsigned long Size; /* +0x0000 */ unsigned char EvtDeviceArmWakeFromS0[8]; /* +0x0008 40 15 00 00 */ unsigned char EvtDeviceDisarmWakeFromS0[8]; /* +0x0010 42 15 00 00 */ unsigned char EvtDeviceWakeFromS0Triggered[8]; /* +0x0018 42 15 00 00 */ unsigned char EvtDeviceArmWakeFromSx[8]; /* +0x0020 40 15 00 00 */ unsigned char EvtDeviceDisarmWakeFromSx[8]; /* +0x0028 42 15 00 00 */ unsigned char EvtDeviceWakeFromSxTriggered[8]; /* +0x0030 42 15 00 00 */ unsigned char EvtDeviceArmWakeFromSxWithReason[8]; /* +0x0038 45 15 00 00 */ }; enum _WDF_POWER_DEVICE_STATE { WdfPowerDeviceInvalid = 0, WdfPowerDeviceD0 = 1, WdfPowerDeviceD1 = 2, WdfPowerDeviceD2 = 3, WdfPowerDeviceD3 = 4, WdfPowerDeviceD3Final = 5, WdfPowerDevicePrepareForHibernation = 6, WdfPowerDeviceMaximum = 7 }; enum _WDF_SPECIAL_FILE_TYPE { WdfSpecialFileUndefined = 0, WdfSpecialFilePaging = 1, WdfSpecialFileHibernation = 2, WdfSpecialFileDump = 3, WdfSpecialFileBoot = 4, WdfSpecialFileMax = 5 }; struct _WDF_PNPPOWER_EVENT_CALLBACKS { unsigned long Size; /* +0x0000 */ unsigned char EvtDeviceD0Entry[8]; /* +0x0008 4e 15 00 00 */ unsigned char EvtDeviceD0EntryPostInterruptsEnabled[8]; /* +0x0010 4e 15 00 00 */ unsigned char EvtDeviceD0Exit[8]; /* +0x0018 4e 15 00 00 */ unsigned char EvtDeviceD0ExitPreInterruptsDisabled[8]; /* +0x0020 4e 15 00 00 */ unsigned char EvtDevicePrepareHardware[8]; /* +0x0028 53 15 00 00 */ unsigned char EvtDeviceReleaseHardware[8]; /* +0x0030 56 15 00 00 */ unsigned char EvtDeviceSelfManagedIoCleanup[8]; /* +0x0038 42 15 00 00 */ unsigned char EvtDeviceSelfManagedIoFlush[8]; /* +0x0040 42 15 00 00 */ unsigned char EvtDeviceSelfManagedIoInit[8]; /* +0x0048 40 15 00 00 */ unsigned char EvtDeviceSelfManagedIoSuspend[8]; /* +0x0050 40 15 00 00 */ unsigned char EvtDeviceSelfManagedIoRestart[8]; /* +0x0058 40 15 00 00 */ unsigned char EvtDeviceSurpriseRemoval[8]; /* +0x0060 42 15 00 00 */ unsigned char EvtDeviceQueryRemove[8]; /* +0x0068 40 15 00 00 */ unsigned char EvtDeviceQueryStop[8]; /* +0x0070 40 15 00 00 */ unsigned char EvtDeviceUsageNotification[8]; /* +0x0078 5b 15 00 00 */ unsigned char EvtDeviceRelationsQuery[8]; /* +0x0080 5e 15 00 00 */ unsigned char EvtDeviceUsageNotificationEx[8]; /* +0x0088 60 15 00 00 */ }; enum _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES { IdleCapsInvalid = 0, IdleCannotWakeFromS0 = 1, IdleCanWakeFromS0 = 2, IdleUsbSelectiveSuspend = 3 }; enum _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL { IdleUserControlInvalid = 0, IdleDoNotAllowUserControl = 1, IdleAllowUserControl = 2 }; struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS { unsigned long Size; /* +0x0000 */ unsigned char IdleCaps[4]; /* +0x0004 66 15 00 00 */ unsigned char DxState[4]; /* +0x0008 cd 12 00 00 */ unsigned long IdleTimeout; /* +0x000c */ unsigned char UserControlOfIdleSettings[4]; /* +0x0010 68 15 00 00 */ unsigned char Enabled[4]; /* +0x0014 33 15 00 00 */ unsigned char PowerUpIdleDeviceOnSystemWake[4]; /* +0x0018 33 15 00 00 */ unsigned char UseSystemManagedIdleTimeout; /* +0x001c */ unsigned char ExcludeD3Cold[4]; /* +0x0020 33 15 00 00 */ }; enum _WDF_POWER_POLICY_SX_WAKE_USER_CONTROL { WakeUserControlInvalid = 0, WakeDoNotAllowUserControl = 1, WakeAllowUserControl = 2 }; struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS { unsigned long Size; /* +0x0000 */ unsigned char DxState[4]; /* +0x0004 cd 12 00 00 */ unsigned char UserControlOfWakeSettings[4]; /* +0x0008 71 15 00 00 */ unsigned char Enabled[4]; /* +0x000c 33 15 00 00 */ unsigned char ArmForWakeIfChildrenAreArmedForWake; /* +0x0010 */ unsigned char IndicateChildWakeOnParentWake; /* +0x0011 */ }; struct _WDF_DEVICE_STATE { unsigned long Size; /* +0x0000 */ unsigned char Disabled[4]; /* +0x0004 33 15 00 00 */ unsigned char DontDisplayInUI[4]; /* +0x0008 33 15 00 00 */ unsigned char Failed[4]; /* +0x000c 33 15 00 00 */ unsigned char NotDisableable[4]; /* +0x0010 33 15 00 00 */ unsigned char Removed[4]; /* +0x0014 33 15 00 00 */ unsigned char ResourcesChanged[4]; /* +0x0018 33 15 00 00 */ }; struct _WDF_DEVICE_PNP_CAPABILITIES { unsigned long Size; /* +0x0000 */ unsigned char LockSupported[4]; /* +0x0004 33 15 00 00 */ unsigned char EjectSupported[4]; /* +0x0008 33 15 00 00 */ unsigned char Removable[4]; /* +0x000c 33 15 00 00 */ unsigned char DockDevice[4]; /* +0x0010 33 15 00 00 */ unsigned char UniqueID[4]; /* +0x0014 33 15 00 00 */ unsigned char SilentInstall[4]; /* +0x0018 33 15 00 00 */ unsigned char SurpriseRemovalOK[4]; /* +0x001c 33 15 00 00 */ unsigned char HardwareDisabled[4]; /* +0x0020 33 15 00 00 */ unsigned char NoDisplayInUI[4]; /* +0x0024 33 15 00 00 */ unsigned long Address; /* +0x0028 */ unsigned long UINumber; /* +0x002c */ }; struct _WDF_DEVICE_POWER_CAPABILITIES { unsigned long Size; /* +0x0000 */ unsigned char DeviceD1[4]; /* +0x0004 33 15 00 00 */ unsigned char DeviceD2[4]; /* +0x0008 33 15 00 00 */ unsigned char WakeFromD0[4]; /* +0x000c 33 15 00 00 */ unsigned char WakeFromD1[4]; /* +0x0010 33 15 00 00 */ unsigned char WakeFromD2[4]; /* +0x0014 33 15 00 00 */ unsigned char WakeFromD3[4]; /* +0x0018 33 15 00 00 */ unsigned char DeviceState[28]; /* +0x001c 7f 15 00 00 */ unsigned char DeviceWake[4]; /* +0x0038 cd 12 00 00 */ unsigned char SystemWake[4]; /* +0x003c 80 12 00 00 */ unsigned long D1Latency; /* +0x0040 */ unsigned long D2Latency; /* +0x0044 */ unsigned long D3Latency; /* +0x0048 */ unsigned char IdealDxStateForSx[4]; /* +0x004c cd 12 00 00 */ }; struct _WDF_REMOVE_LOCK_OPTIONS { unsigned long Size; /* +0x0000 */ unsigned long Flags; /* +0x0004 */ }; struct _WDF_POWER_FRAMEWORK_SETTINGS { unsigned long Size; /* +0x0000 */ unsigned char EvtDeviceWdmPostPoFxRegisterDevice[8]; /* +0x0008 8e 15 00 00 */ unsigned char EvtDeviceWdmPrePoFxUnregisterDevice[8]; /* +0x0010 90 15 00 00 */ unsigned char Component[8]; /* +0x0018 92 15 00 00 */ unsigned char ComponentActiveConditionCallback[8]; /* +0x0020 95 15 00 00 */ unsigned char ComponentIdleConditionCallback[8]; /* +0x0028 95 15 00 00 */ unsigned char ComponentIdleStateCallback[8]; /* +0x0030 98 15 00 00 */ unsigned char PowerControlCallback[8]; /* +0x0038 9b 15 00 00 */ void *PoFxDeviceContext; /* +0x0040 */ }; enum _WDF_DEVICE_PNP_STATE { WdfDevStatePnpInvalid = 0, WdfDevStatePnpObjectCreated = 256, WdfDevStatePnpCheckForDevicePresence = 257, WdfDevStatePnpEjectFailed = 258, WdfDevStatePnpEjectHardware = 259, WdfDevStatePnpEjectedWaitingForRemove = 260, WdfDevStatePnpInit = 261, WdfDevStatePnpInitStarting = 262, WdfDevStatePnpInitSurpriseRemoved = 263, WdfDevStatePnpHardwareAvailable = 264, WdfDevStatePnpEnableInterfaces = 265, WdfDevStatePnpHardwareAvailablePowerPolicyFailed = 266, WdfDevStatePnpQueryRemoveAskDriver = 267, WdfDevStatePnpQueryRemovePending = 268, WdfDevStatePnpQueryRemoveStaticCheck = 269, WdfDevStatePnpQueriedRemoving = 270, WdfDevStatePnpQueryStopAskDriver = 271, WdfDevStatePnpQueryStopPending = 272, WdfDevStatePnpQueryStopStaticCheck = 273, WdfDevStatePnpQueryCanceled = 274, WdfDevStatePnpRemoved = 275, WdfDevStatePnpPdoRemoved = 276, WdfDevStatePnpRemovedPdoWait = 277, WdfDevStatePnpRemovedPdoSurpriseRemoved = 278, WdfDevStatePnpRemovingDisableInterfaces = 279, WdfDevStatePnpRestarting = 280, WdfDevStatePnpStarted = 281, WdfDevStatePnpStartedCancelStop = 282, WdfDevStatePnpStartedCancelRemove = 283, WdfDevStatePnpStartedRemoving = 284, WdfDevStatePnpStartingFromStopped = 285, WdfDevStatePnpStopped = 286, WdfDevStatePnpStoppedWaitForStartCompletion = 287, WdfDevStatePnpStartedStopping = 288, WdfDevStatePnpSurpriseRemove = 289, WdfDevStatePnpInitQueryRemove = 290, WdfDevStatePnpInitQueryRemoveCanceled = 291, WdfDevStatePnpFdoRemoved = 292, WdfDevStatePnpRemovedWaitForChildren = 293, WdfDevStatePnpQueriedSurpriseRemove = 294, WdfDevStatePnpSurpriseRemoveIoStarted = 295, WdfDevStatePnpFailedPowerDown = 296, WdfDevStatePnpFailedIoStarting = 297, WdfDevStatePnpFailedOwnHardware = 298, WdfDevStatePnpFailed = 299, WdfDevStatePnpFailedSurpriseRemoved = 300, WdfDevStatePnpFailedStarted = 301, WdfDevStatePnpFailedWaitForRemove = 302, WdfDevStatePnpFailedInit = 303, WdfDevStatePnpPdoInitFailed = 304, WdfDevStatePnpRestart = 305, WdfDevStatePnpRestartReleaseHardware = 306, WdfDevStatePnpRestartHardwareAvailable = 307, WdfDevStatePnpPdoRestart = 308, WdfDevStatePnpFinal = 309, WdfDevStatePnpRemovedChildrenRemoved = 310, WdfDevStatePnpQueryRemoveEnsureDeviceAwake = 311, WdfDevStatePnpQueryStopEnsureDeviceAwake = 312, WdfDevStatePnpFailedPowerPolicyRemoved = 313, WdfDevStatePnpNull = 314 }; enum _WDF_DEVICE_POWER_STATE { WdfDevStatePowerInvalid = 0, WdfDevStatePowerObjectCreated = 768, WdfDevStatePowerCheckDeviceType = 769, ƒWdfDevStatePowerCheckDeviceTypeNP = 32770, WdfDevStatePowerCheckParentState = 771, ƒWdfDevStatePowerCheckParentStateNP = 32770, WdfDevStatePowerEnablingWakeAtBus = 773, ƒWdfDevStatePowerEnablingWakeAtBusNP = 32770, WdfDevStatePowerD0 = 775, ƒWdfDevStatePowerD0NP = 32770, WdfDevStatePowerD0BusWakeOwner = 777, ƒWdfDevStatePowerD0BusWakeOwnerNP = 32770, WdfDevStatePowerD0ArmedForWake = 779, ƒWdfDevStatePowerD0ArmedForWakeNP = 32770, WdfDevStatePowerD0DisarmingWakeAtBus = 781, ƒWdfDevStatePowerD0DisarmingWakeAtBusNP = 32770, WdfDevStatePowerD0Starting = 783, WdfDevStatePowerD0StartingConnectInterrupt = 784, WdfDevStatePowerD0StartingDmaEnable = 785, WdfDevStatePowerD0StartingStartSelfManagedIo = 786, WdfDevStatePowerDecideD0State = 787, WdfDevStatePowerGotoD3Stopped = 788, WdfDevStatePowerStopped = 789, WdfDevStatePowerStartingCheckDeviceType = 790, WdfDevStatePowerStartingChild = 791, WdfDevStatePowerDxDisablingWakeAtBus = 792, ƒWdfDevStatePowerDxDisablingWakeAtBusNP = 32770, WdfDevStatePowerGotoDx = 794, ƒWdfDevStatePowerGotoDxNP = 32770, WdfDevStatePowerGotoDxIoStopped = 796, ƒWdfDevStatePowerGotoDxIoStoppedNP = 32770, ƒWdfDevStatePowerGotoDxNPFailed = 32770, WdfDevStatePowerDx = 799, ƒWdfDevStatePowerDxNP = 32770, WdfDevStatePowerGotoDxArmedForWake = 801, "ƒWdfDevStatePowerGotoDxArmedForWakeNP = 32770, WdfDevStatePowerGotoDxIoStoppedArmedForWake = 803, $ƒWdfDevStatePowerGotoDxIoStoppedArmedForWakeNP = 32770, WdfDevStatePowerDxArmedForWake = 805, &ƒWdfDevStatePowerDxArmedForWakeNP = 32770, WdfDevStatePowerCheckParentStateArmedForWake = 807, (ƒWdfDevStatePowerCheckParentStateArmedForWakeNP = 32770, WdfDevStatePowerWaitForParentArmedForWake = 809, *ƒWdfDevStatePowerWaitForParentArmedForWakeNP = 32770, WdfDevStatePowerStartSelfManagedIo = 811, ,ƒWdfDevStatePowerStartSelfManagedIoNP = 32770, WdfDevStatePowerStartSelfManagedIoFailed = 813, .ƒWdfDevStatePowerStartSelfManagedIoFailedNP = 32770, WdfDevStatePowerWaitForParent = 815, 0ƒWdfDevStatePowerWaitForParentNP = 32770, WdfDevStatePowerWakePending = 817, 2ƒWdfDevStatePowerWakePendingNP = 32770, WdfDevStatePowerWaking = 819, 4ƒWdfDevStatePowerWakingNP = 32770, WdfDevStatePowerWakingConnectInterrupt = 821, 6ƒWdfDevStatePowerWakingConnectInterruptNP = 32770, WdfDevStatePowerWakingConnectInterruptFailed = 823, 8ƒWdfDevStatePowerWakingConnectInterruptFailedNP = 32770, WdfDevStatePowerWakingDmaEnable = 825, :ƒWdfDevStatePowerWakingDmaEnableNP = 32770, WdfDevStatePowerWakingDmaEnableFailed = 827, <ƒWdfDevStatePowerWakingDmaEnableFailedNP = 32770, WdfDevStatePowerReportPowerUpFailedDerefParent = 829, WdfDevStatePowerReportPowerUpFailed = 830, WdfDevStatePowerPowerFailedPowerDown = 831, WdfDevStatePowerReportPowerDownFailed = 832, WdfDevStatePowerInitialConnectInterruptFailed = 833, WdfDevStatePowerInitialDmaEnableFailed = 834, WdfDevStatePowerInitialSelfManagedIoFailed = 835, WdfDevStatePowerInitialPowerUpFailedDerefParent = 836, WdfDevStatePowerInitialPowerUpFailed = 837, WdfDevStatePowerDxStoppedDisarmWake = 838, GƒWdfDevStatePowerDxStoppedDisarmWakeNP = 32770, HƒWdfDevStatePowerGotoDxStoppedDisableInterruptNP = 32770, WdfDevStatePowerGotoDxStopped = 841, WdfDevStatePowerDxStopped = 842, WdfDevStatePowerGotoStopped = 843, WdfDevStatePowerStoppedCompleteDx = 844, WdfDevStatePowerDxStoppedDecideDxState = 845, WdfDevStatePowerDxStoppedArmForWake = 846, OƒWdfDevStatePowerDxStoppedArmForWakeNP = 32770, WdfDevStatePowerFinalPowerDownFailed = 848, WdfDevStatePowerFinal = 849, WdfDevStatePowerGotoImplicitD3DisarmWakeAtBus = 850, WdfDevStatePowerNull = 851 }; enum _WDF_DEVICE_POWER_POLICY_STATE { WdfDevStatePwrPolInvalid = 0, WdfDevStatePwrPolObjectCreated = 1280, WdfDevStatePwrPolStarting = 1281, WdfDevStatePwrPolStartingSucceeded = 1282, WdfDevStatePwrPolStartingFailed = 1283, WdfDevStatePwrPolStartingDecideS0Wake = 1284, WdfDevStatePwrPolStartedIdleCapable = 1285, WdfDevStatePwrPolTimerExpiredNoWake = 1286, WdfDevStatePwrPolTimerExpiredNoWakeCompletePowerDown = 1287, WdfDevStatePwrPolWaitingUnarmed = 1288, WdfDevStatePwrPolWaitingUnarmedQueryIdle = 1289, WdfDevStatePwrPolS0NoWakePowerUp = 1290, WdfDevStatePwrPolS0NoWakeCompletePowerUp = 1291, WdfDevStatePwrPolSystemSleepFromDeviceWaitingUnarmed = 1292, WdfDevStatePwrPolSystemSleepNeedWake = 1293, WdfDevStatePwrPolSystemSleepNeedWakeCompletePowerUp = 1294, WdfDevStatePwrPolSystemSleepPowerRequestFailed = 1295, WdfDevStatePwrPolCheckPowerPageable = 1296, WdfDevStatePwrPolSleepingWakeWakeArrived = 1297, WdfDevStatePwrPolSleepingWakeRevertArmWake = 1298, WdfDevStatePwrPolSystemAsleepWakeArmed = 1299, WdfDevStatePwrPolSystemWakeDeviceWakeEnabled = 1300, WdfDevStatePwrPolSystemWakeDeviceWakeEnabledWakeCanceled = 1301, WdfDevStatePwrPolSystemWakeDeviceWakeDisarm = 1302, WdfDevStatePwrPolSystemWakeDeviceWakeTriggered = 1303, WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredS0 = 1304, WdfDevStatePwrPolSystemWakeDeviceWokeDisarm = 1305, …WdfDevStatePwrPolSleepingWakeWakeArrivedNP = 32770, …WdfDevStatePwrPolSleepingWakeRevertArmWakeNP = 32770, WdfDevStatePwrPolSleepingWakePowerDownFailed = 1308, WdfDevStatePwrPolSleepingWakePowerDownFailedWakeCanceled = 1309, …WdfDevStatePwrPolSystemAsleepWakeArmedNP = 32770, …WdfDevStatePwrPolSystemWakeDeviceWakeEnabledNP = 32770, …WdfDevStatePwrPolSystemWakeDeviceWakeEnabledWakeCanceledNP = 32770, !…WdfDevStatePwrPolSystemWakeDeviceWakeDisarmNP = 32770, "…WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredNP = 32770, #…WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredS0NP = 32770, $…WdfDevStatePwrPolSystemWakeDeviceWokeDisarmNP = 32770, WdfDevStatePwrPolSystemWakeDeviceWakeCompletePowerUp = 1317, WdfDevStatePwrPolSleeping = 1318, WdfDevStatePwrPolSleepingNoWakePowerDown = 1319, WdfDevStatePwrPolSleepingNoWakeCompletePowerDown = 1320, WdfDevStatePwrPolSleepingNoWakeDxRequestFailed = 1321, WdfDevStatePwrPolSleepingWakePowerDown = 1322, WdfDevStatePwrPolSleepingSendWake = 1323, WdfDevStatePwrPolSystemAsleepNoWake = 1324, WdfDevStatePwrPolSystemWakeDeviceWakeDisabled = 1325, WdfDevStatePwrPolSystemWakeDeviceToD0 = 1326, WdfDevStatePwrPolSystemWakeDeviceToD0CompletePowerUp = 1327, WdfDevStatePwrPolSystemWakeQueryIdle = 1328, WdfDevStatePwrPolStartedWakeCapable = 1329, WdfDevStatePwrPolTimerExpiredDecideUsbSS = 1330, WdfDevStatePwrPolTimerExpiredWakeCapablePowerDown = 1331, WdfDevStatePwrPolTimerExpiredWakeCapableSendWake = 1332, WdfDevStatePwrPolTimerExpiredWakeCapableUsbSS = 1333, WdfDevStatePwrPolTimerExpiredWakeCapableWakeArrived = 1334, WdfDevStatePwrPolTimerExpiredWakeCapableCancelWake = 1335, WdfDevStatePwrPolTimerExpiredWakeCapableWakeCanceled = 1336, WdfDevStatePwrPolTimerExpiredWakeCapableCleanup = 1337, WdfDevStatePwrPolTimerExpiredWakeCapableDxAllocFailed = 1338, WdfDevStatePwrPolTimerExpiredWakeCompletedPowerDown = 1339, WdfDevStatePwrPolTimerExpiredWakeCompletedPowerUp = 1340, WdfDevStatePwrPolWaitingArmedUsbSS = 1341, WdfDevStatePwrPolWaitingArmed = 1342, WdfDevStatePwrPolWaitingArmedQueryIdle = 1343, WdfDevStatePwrPolIoPresentArmed = 1344, WdfDevStatePwrPolIoPresentArmedWakeCanceled = 1345, WdfDevStatePwrPolS0WakeDisarm = 1346, WdfDevStatePwrPolS0WakeCompletePowerUp = 1347, WdfDevStatePwrPolTimerExpiredWakeSucceeded = 1348, WdfDevStatePwrPolTimerExpiredWakeCompletedDisarm = 1349, WdfDevStatePwrPolTimerExpiredWakeCapableWakeSucceeded = 1350, WdfDevStatePwrPolTimerExpiredWakeCapableWakeFailed = 1351, WdfDevStatePwrPolWakeFailedUsbSS = 1352, WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedCancelWake = 1353, WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedWakeCanceled = 1354, WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedUsbSS = 1355, WdfDevStatePwrPolCancelingWakeForSystemSleep = 1356, WdfDevStatePwrPolCancelingWakeForSystemSleepWakeCanceled = 1357, WdfDevStatePwrPolDisarmingWakeForSystemSleepCompletePowerUp = 1358, WdfDevStatePwrPolPowerUpForSystemSleepFailed = 1359, WdfDevStatePwrPolWokeFromS0UsbSS = 1360, WdfDevStatePwrPolWokeFromS0 = 1361, WdfDevStatePwrPolWokeFromS0NotifyDriver = 1362, WdfDevStatePwrPolStoppingResetDevice = 1363, WdfDevStatePwrPolStoppingResetDeviceCompletePowerUp = 1364, WdfDevStatePwrPolStoppingResetDeviceFailed = 1365, WdfDevStatePwrPolStoppingD0 = 1366, WdfDevStatePwrPolStoppingD0Failed = 1367, WdfDevStatePwrPolStoppingDisarmWake = 1368, WdfDevStatePwrPolStoppingDisarmWakeCancelWake = 1369, WdfDevStatePwrPolStoppingDisarmWakeWakeCanceled = 1370, WdfDevStatePwrPolStopping = 1371, WdfDevStatePwrPolStoppingFailed = 1372, WdfDevStatePwrPolStoppingSendStatus = 1373, WdfDevStatePwrPolStoppingCancelTimer = 1374, WdfDevStatePwrPolStoppingWaitForIdleTimeout = 1375, WdfDevStatePwrPolStoppingCancelUsbSS = 1376, WdfDevStatePwrPolStoppingWaitForUsbSSCompletion = 1377, WdfDevStatePwrPolStoppingCancelWake = 1378, WdfDevStatePwrPolStopped = 1379, WdfDevStatePwrPolCancelUsbSS = 1380, WdfDevStatePwrPolStarted = 1381, WdfDevStatePwrPolStartedCancelTimer = 1382, WdfDevStatePwrPolStartedWaitForIdleTimeout = 1383, WdfDevStatePwrPolStartedWakeCapableCancelTimerForSleep = 1384, WdfDevStatePwrPolStartedWakeCapableWaitForIdleTimeout = 1385, WdfDevStatePwrPolStartedWakeCapableSleepingUsbSS = 1386, WdfDevStatePwrPolStartedIdleCapableCancelTimerForSleep = 1387, WdfDevStatePwrPolStartedIdleCapableWaitForIdleTimeout = 1388, WdfDevStatePwrPolDeviceD0PowerRequestFailed = 1389, WdfDevStatePwrPolDevicePowerRequestFailed = 1390, WdfDevStatePwrPolGotoDx = 1391, WdfDevStatePwrPolGotoDxInDx = 1392, WdfDevStatePwrPolDx = 1393, WdfDevStatePwrPolGotoD0 = 1394, WdfDevStatePwrPolGotoD0InD0 = 1395, WdfDevStatePwrPolFinal = 1396, WdfDevStatePwrPolSleepingPowerDownNotProcessed = 1397, WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownNotProcessed = 1398, WdfDevStatePwrPolTimerExpiredNoWakePowerDownNotProcessed = 1399, WdfDevStatePwrPolTimerExpiredNoWakePoweredDownDisableIdleTimer = 1400, WdfDevStatePwrPolStoppingWaitingForImplicitPowerDown = 1401, WdfDevStatePwrPolStoppingPoweringUp = 1402, WdfDevStatePwrPolStoppingPoweringDown = 1403, WdfDevStatePwrPolPowerUpForSystemSleepNotSeen = 1404, WdfDevStatePwrPolWaitingArmedStoppingCancelUsbSS = 1405, WdfDevStatePwrPolWaitingArmedWakeFailedCancelUsbSS = 1406, WdfDevStatePwrPolWaitingArmedIoPresentCancelUsbSS = 1407, WdfDevStatePwrPolWaitingArmedWakeSucceededCancelUsbSS = 1408, WdfDevStatePwrPolCancelingUsbSSForSystemSleep = 1409, WdfDevStatePwrPolStoppingD0CancelUsbSS = 1410, WdfDevStatePwrPolStartingPoweredUp = 1411, WdfDevStatePwrPolIdleCapableDeviceIdle = 1412, WdfDevStatePwrPolDeviceIdleReturnToActive = 1413, WdfDevStatePwrPolDeviceIdleSleeping = 1414, WdfDevStatePwrPolDeviceIdleStopping = 1415, WdfDevStatePwrPolTimerExpiredNoWakeUndoPowerDown = 1416, WdfDevStatePwrPolD0RequestFailedCompleteDeviceActive = 1417, WdfDevStatePwrPolPowerRequestFailedCompleteDeviceActive = 1418, WdfDevStatePwrPolS0NoWakeReturnToActive = 1419, WdfDevStatePwrPolS0NoWakePowerUpHardwareStarted = 1420, WdfDevStatePwrPolStoppingResetDeviceReturnToActive = 1421, WdfDevStatePwrPolStoppingResetDeviceHardwareStarted = 1422, WdfDevStatePwrPolStoppingResetDeviceReturnToActiveFailed = 1423, WdfDevStatePwrPolSystemAsleepNoWakeDeviceWaitingUnarmed = 1424, WdfDevStatePwrPolSystemWakeWaitingUnarmedDeviceWakeDisabled = 1425, WdfDevStatePwrPolSystemWakeWaitingUnarmedQueryIdle = 1426, WdfDevStatePwrPolSystemWakeDeviceIdle = 1427, WdfDevStatePwrPolSystemSleepNeedWakeReturnToActive = 1428, WdfDevStatePwrPolSystemSleepNeedWakeHardwareStarted = 1429, WdfDevStatePwrPolSystemSleepNeedWakeD0AllocationFailed = 1430, WdfDevStatePwrPolSystemSleepPowerUpNotSeenReturnToActive = 1431, WdfDevStatePwrPolSystemSleepNeedWakeReturnToActiveFailed = 1432, WdfDevStatePwrPolWakeCapableDeviceIdle = 1433, WdfDevStatePwrPolWakeCapableUsbSSReturnToActive = 1434, WdfDevStatePwrPolWakeCapableUsbSSSleepingReturnToActive = 1435, WdfDevStatePwrPolWakeCapableUsbSSStopping = 1436, WdfDevStatePwrPolWakeCapableUsbSSCompleted = 1437, WdfDevStatePwrPolTimerExpiredWakeCapableUndoPowerDown = 1438, WdfDevStatePwrPolIoPresentArmedReturnToActive = 1439, WdfDevStatePwrPolIoPresentArmedHardwareStarted = 1440, WdfDevStatePwrPolWokeFromS0ReturnToActive = 1441, WdfDevStatePwrPolWokeFromS0HardwareStarted = 1442, WdfDevStatePwrPolTimerExpiredWakeCompletedReturnToActive = 1443, WdfDevStatePwrPolTimerExpiredWakeCompletedHardwareStarted = 1444, WdfDevStatePwrPolCancelingWakeForSystemSleepReturnToActive = 1445, WdfDevStatePwrPolSystemSleepWakeCanceledHardwareStarted = 1446, WdfDevStatePwrPolSystemSleepWakeCanceledReturnToActiveFailed = 1447, WdfDevStatePwrPolStoppingD0ReturnToActive = 1448, WdfDevStatePwrPolStoppingD0HardwareStarted = 1449, WdfDevStatePwrPolStoppingD0ReturnToActiveFailed = 1450, WdfDevStatePwrPolStoppedRemoving = 1451, WdfDevStatePwrPolRemoved = 1452, WdfDevStatePwrPolRestarting = 1453, WdfDevStatePwrPolRestartingFailed = 1454, WdfDevStatePwrPolRestartingPoweredUp = 1455, WdfDevStatePwrPolStartingPoweredUpFailed = 1456, WdfDevStatePwrPolSleepingPoSuspend = 1457, WdfDevStatePwrPolSystemSleepFromWaitingUnarmedPoSuspend = 1458, WdfDevStatePwrPolSystemSleepNeedWakeD0AllocFailedPoSuspend = 1459, WdfDevStatePwrPolStoppingPoSuspend = 1460, WdfDevStatePwrPolSystemWakeDeviceToD0PoweredUpPoResume = 1461, WdfDevStatePwrPolSystemWakeDeviceWaitingUnarmedPoResume = 1462, WdfDevStatePwrPolSystemWakeDeviceWakePoweredUpPoResume = 1463, WdfDevStatePwrPolNull = 1464 }; enum _WDF_DEVICE_IO_TYPE { WdfDeviceIoUndefined = 0, WdfDeviceIoNeither = 1, WdfDeviceIoBuffered = 2, WdfDeviceIoDirect = 3 }; enum DEVICE_REGISTRY_PROPERTY { DevicePropertyDeviceDescription = 0, DevicePropertyHardwareID = 1, DevicePropertyCompatibleIDs = 2, DevicePropertyBootConfiguration = 3, DevicePropertyBootConfigurationTranslated = 4, DevicePropertyClassName = 5, DevicePropertyClassGuid = 6, DevicePropertyDriverKeyName = 7, DevicePropertyManufacturer = 8, DevicePropertyFriendlyName = 9, DevicePropertyLocationInformation = 10, DevicePropertyPhysicalDeviceObjectName = 11, DevicePropertyBusTypeGuid = 12, DevicePropertyLegacyBusType = 13, DevicePropertyBusNumber = 14, DevicePropertyEnumeratorName = 15, DevicePropertyAddress = 16, DevicePropertyUINumber = 17, DevicePropertyInstallState = 18, DevicePropertyRemovalPolicy = 19, DevicePropertyResourceRequirements = 20, DevicePropertyAllocatedResources = 21, DevicePropertyContainerID = 22 }; enum _INTERFACE_TYPE { InterfaceTypeUndefined = -1, Internal = 0, Isa = 1, Eisa = 2, MicroChannel = 3, TurboChannel = 4, PCIBus = 5, VMEBus = 6, NuBus = 7, PCMCIABus = 8, CBus = 9, MPIBus = 10, MPSABus = 11, ProcessorInternal = 12, InternalPowerBus = 13, PNPISABus = 14, PNPBus = 15, Vmcs = 16, ACPIBus = 17, MaximumInterfaceType = 18 }; struct _PNP_BUS_INFORMATION { unsigned char BusTypeGuid[16]; /* +0x0000 9b 10 00 00 */ unsigned char LegacyBusType[4]; /* +0x0010 55 16 00 00 */ unsigned long BusNumber; /* +0x0014 */ }; enum _WDF_DEVICE_FAILED_ACTION { WdfDeviceFailedUndefined = 0, WdfDeviceFailedAttemptRestart = 1, WdfDeviceFailedNoRestart = 2 }; struct _WDF_DPC_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char EvtDpcFunc[8]; /* +0x0008 96 16 00 00 */ unsigned char AutomaticSerialization; /* +0x0010 */ }; struct _WDF_TIMER_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char EvtTimerFunc[8]; /* +0x0008 af 16 00 00 */ unsigned long Period; /* +0x0010 */ unsigned char AutomaticSerialization; /* +0x0014 */ unsigned long TolerableDelay; /* +0x0018 */ }; struct _WDF_WORKITEM_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char EvtWorkItemFunc[8]; /* +0x0008 c7 16 00 00 */ unsigned char AutomaticSerialization; /* +0x0010 */ }; struct _WDF_INTERRUPT_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char SpinLock[8]; /* +0x0008 33 14 00 00 */ unsigned char ShareVector[4]; /* +0x0010 33 15 00 00 */ unsigned char FloatingSave; /* +0x0014 */ unsigned char AutomaticSerialization; /* +0x0015 */ unsigned char EvtInterruptIsr[8]; /* +0x0018 db 16 00 00 */ unsigned char EvtInterruptDpc[8]; /* +0x0020 de 16 00 00 */ unsigned char EvtInterruptEnable[8]; /* +0x0028 e1 16 00 00 */ unsigned char EvtInterruptDisable[8]; /* +0x0030 e1 16 00 00 */ unsigned char EvtInterruptWorkItem[8]; /* +0x0038 de 16 00 00 */ unsigned char InterruptRaw[8]; /* +0x0040 e3 16 00 00 */ unsigned char InterruptTranslated[8]; /* +0x0048 e3 16 00 00 */ unsigned char WaitLock[8]; /* +0x0050 25 14 00 00 */ unsigned char PassiveHandling; /* +0x0058 */ }; enum _KINTERRUPT_MODE { LevelSensitive = 0, Latched = 1 }; enum _WDF_INTERRUPT_POLARITY { WdfInterruptPolarityUnknown = 0, WdfInterruptActiveHigh = 1, WdfInterruptActiveLow = 2 }; struct _WDF_INTERRUPT_INFO { unsigned long Size; /* +0x0000 */ unsigned long long Reserved1; /* +0x0008 */ unsigned long long TargetProcessorSet; /* +0x0010 */ unsigned long Reserved2; /* +0x0018 */ unsigned long MessageNumber; /* +0x001c */ unsigned long Vector; /* +0x0020 */ unsigned char Irql; /* +0x0024 */ unsigned char Mode[4]; /* +0x0028 eb 16 00 00 */ unsigned char Polarity[4]; /* +0x002c ed 16 00 00 */ unsigned char MessageSignaled; /* +0x0030 */ unsigned char ShareDisposition; /* +0x0031 */ unsigned short Group; /* +0x0038 */ }; enum _WDF_INTERRUPT_POLICY { WdfIrqPolicyMachineDefault = 0, WdfIrqPolicyAllCloseProcessors = 1, WdfIrqPolicyOneCloseProcessor = 2, WdfIrqPolicyAllProcessorsInMachine = 3, WdfIrqPolicySpecifiedProcessors = 4, WdfIrqPolicySpreadMessagesAcrossAllProcessors = 5 }; enum _WDF_INTERRUPT_PRIORITY { WdfIrqPriorityUndefined = 0, WdfIrqPriorityLow = 1, WdfIrqPriorityNormal = 2, WdfIrqPriorityHigh = 3 }; struct _WDF_INTERRUPT_EXTENDED_POLICY { unsigned long Size; /* +0x0000 */ unsigned char Policy[4]; /* +0x0004 f3 16 00 00 */ unsigned char Priority[8]; /* +0x0008 f5 16 00 00 */ unsigned char TargetProcessorSetAndGroup[16]; /* +0x0010 f6 16 00 00 */ }; /* struct { unsigned long Length; +0x0000 unsigned long Alignment; +0x0004 unsigned char MinimumAddress[8]; +0x0008 2b 10 00 00 unsigned char MaximumAddress[8]; +0x0010 2b 10 00 00 }; */ enum _IRQ_PRIORITY { IrqPriorityUndefined = 0, IrqPriorityLow = 1, IrqPriorityNormal = 2, IrqPriorityHigh = 3 }; /* struct { unsigned long MinimumVector; +0x0000 unsigned long MaximumVector; +0x0004 unsigned short AffinityPolicy; +0x0008 unsigned short Group; +0x000a unsigned char PriorityPolicy[4]; +0x000c 3e 17 00 00 unsigned long long TargetedProcessors; +0x0010 }; */ /* struct { unsigned long MinimumChannel; +0x0000 unsigned long MaximumChannel; +0x0004 }; */ /* struct { unsigned long RequestLine; +0x0000 unsigned long Reserved; +0x0004 unsigned long Channel; +0x0008 unsigned long TransferWidth; +0x000c }; */ /* struct { unsigned char Data[12]; +0x0000 3c 10 00 00 }; */ /* struct { unsigned long Length; +0x0000 unsigned long MinBusNumber; +0x0004 unsigned long MaxBusNumber; +0x0008 unsigned long Reserved; +0x000c }; */ /* struct { unsigned long Priority; +0x0000 unsigned long Reserved1; +0x0004 unsigned long Reserved2; +0x0008 }; */ /* struct { unsigned long Length40; +0x0000 unsigned long Alignment40; +0x0004 unsigned char MinimumAddress[8]; +0x0008 2b 10 00 00 unsigned char MaximumAddress[8]; +0x0010 2b 10 00 00 }; */ /* struct { unsigned long Length48; +0x0000 unsigned long Alignment48; +0x0004 unsigned char MinimumAddress[8]; +0x0008 2b 10 00 00 unsigned char MaximumAddress[8]; +0x0010 2b 10 00 00 }; */ /* struct { unsigned long Length64; +0x0000 unsigned long Alignment64; +0x0004 unsigned char MinimumAddress[8]; +0x0008 2b 10 00 00 unsigned char MaximumAddress[8]; +0x0010 2b 10 00 00 }; */ /* struct { unsigned char Class; +0x0000 unsigned char Type; +0x0001 unsigned char Reserved1; +0x0002 unsigned char Reserved2; +0x0003 unsigned long IdLowPart; +0x0004 unsigned long IdHighPart; +0x0008 }; */ /* struct { /* unsigned char Port[0]; +0x0000 3c 17 00 00 /* unsigned char Memory[0]; +0x0000 3c 17 00 00 /* unsigned char Interrupt[0]; +0x0000 40 17 00 00 /* unsigned char Dma[0]; +0x0000 42 17 00 00 /* unsigned char DmaV3[0]; +0x0000 44 17 00 00 /* unsigned char Generic[0]; +0x0000 3c 17 00 00 /* unsigned char DevicePrivate[0]; +0x0000 46 17 00 00 /* unsigned char BusNumber[0]; +0x0000 48 17 00 00 /* unsigned char ConfigData[0]; +0x0000 4a 17 00 00 /* unsigned char Memory40[0]; +0x0000 4c 17 00 00 /* unsigned char Memory48[0]; +0x0000 4e 17 00 00 /* unsigned char Memory64[0]; +0x0000 50 17 00 00 unsigned char Connection[24]; +0x0000 52 17 00 00 }; */ struct _IO_RESOURCE_DESCRIPTOR { unsigned char Option; /* +0x0000 */ unsigned char Type; /* +0x0001 */ unsigned char ShareDisposition; /* +0x0002 */ unsigned char Spare1; /* +0x0003 */ unsigned short Flags; /* +0x0004 */ unsigned short Spare2; /* +0x0006 */ unsigned char u[24]; /* +0x0008 54 17 00 00 */ }; /* struct { unsigned char Start[8]; +0x0000 2b 10 00 00 unsigned long Length; +0x0008 }; */ /* struct { unsigned short Level; +0x0000 unsigned short Group; +0x0002 unsigned long Vector; +0x0004 unsigned long long Affinity; +0x0008 }; */ /* struct { unsigned short Group; +0x0000 unsigned short MessageCount; +0x0002 unsigned long Vector; +0x0004 unsigned long long Affinity; +0x0008 }; */ /* struct { /* unsigned char Raw[0]; +0x0000 6e 17 00 00 unsigned char Translated[16]; +0x0000 6c 17 00 00 }; */ /* struct { unsigned long Channel; +0x0000 unsigned long Port; +0x0004 unsigned long Reserved1; +0x0008 }; */ /* struct { unsigned long Channel; +0x0000 unsigned long RequestLine; +0x0004 unsigned long Reserved1; +0x0008 }; */ /* struct { unsigned long Start; +0x0000 unsigned long Length; +0x0004 unsigned long Reserved; +0x0008 }; */ /* struct { unsigned long DataSize; +0x0000 unsigned long Reserved1; +0x0004 unsigned long Reserved2; +0x0008 }; */ /* struct { unsigned char Start[8]; +0x0000 2b 10 00 00 unsigned long Length40; +0x0008 }; */ /* struct { unsigned char Start[8]; +0x0000 2b 10 00 00 unsigned long Length48; +0x0008 }; */ /* struct { unsigned char Start[8]; +0x0000 2b 10 00 00 unsigned long Length64; +0x0008 }; */ /* struct { /* unsigned char Generic[0]; +0x0000 6a 17 00 00 /* unsigned char Port[0]; +0x0000 6a 17 00 00 /* unsigned char Interrupt[0]; +0x0000 6c 17 00 00 /* unsigned char MessageInterrupt[0]; +0x0000 70 17 00 00 /* unsigned char Memory[0]; +0x0000 6a 17 00 00 /* unsigned char Dma[0]; +0x0000 72 17 00 00 /* unsigned char DmaV3[0]; +0x0000 74 17 00 00 /* unsigned char DevicePrivate[0]; +0x0000 46 17 00 00 /* unsigned char BusNumber[0]; +0x0000 76 17 00 00 /* unsigned char DeviceSpecificData[0]; +0x0000 78 17 00 00 /* unsigned char Memory40[0]; +0x0000 7a 17 00 00 /* unsigned char Memory48[0]; +0x0000 7c 17 00 00 /* unsigned char Memory64[0]; +0x0000 7e 17 00 00 unsigned char Connection[16]; +0x0000 52 17 00 00 }; */ struct _CM_PARTIAL_RESOURCE_DESCRIPTOR { unsigned char Type; /* +0x0000 */ unsigned char ShareDisposition; /* +0x0001 */ unsigned short Flags; /* +0x0002 */ unsigned char u[16]; /* +0x0004 80 17 00 00 */ }; /* struct { unsigned long long Length; +0x0000 unsigned long Key; +0x0008 long long DeviceOffset; +0x0010 }; */ /* struct { unsigned long long OutputBufferLength; +0x0000 unsigned long long InputBufferLength; +0x0008 unsigned long IoControlCode; +0x0010 void *Type3InputBuffer; +0x0018 }; */ /* struct { void *Arg1; +0x0000 void *Arg2; +0x0008 unsigned long IoControlCode; +0x0010 void *Arg4; +0x0018 }; */ /* struct { /* unsigned char Create[0]; +0x0000 32 12 00 00 /* unsigned char Read[0]; +0x0000 94 17 00 00 /* unsigned char Write[0]; +0x0000 94 17 00 00 /* unsigned char DeviceIoControl[0]; +0x0000 96 17 00 00 unsigned char Others[32]; +0x0000 98 17 00 00 }; */ struct _WDF_REQUEST_PARAMETERS { unsigned short Size; /* +0x0000 */ unsigned char MinorFunction; /* +0x0002 */ unsigned char Type[4]; /* +0x0004 6b 16 00 00 */ unsigned char Parameters[32]; /* +0x0008 9a 17 00 00 */ }; /* struct { unsigned char Buffer[8]; +0x0000 9d 14 00 00 unsigned long long Length; +0x0008 unsigned long long Offset; +0x0010 }; */ /* struct { unsigned char Buffer[8]; +0x0000 9d 14 00 00 unsigned long long Offset; +0x0008 }; */ /* struct { unsigned char Buffer[8]; +0x0000 9d 14 00 00 unsigned long long Offset; +0x0008 unsigned long long Length; +0x0010 }; */ /* struct { unsigned long IoControlCode; +0x0000 unsigned char Input[16]; +0x0008 a2 17 00 00 unsigned char Output[24]; +0x0018 a4 17 00 00 }; */ /* struct { void *Ptr; +0x0000 unsigned long long Value; +0x0000 }; */ /* struct { unsigned char Argument1[8]; +0x0000 a8 17 00 00 unsigned char Argument2[8]; +0x0008 a8 17 00 00 unsigned char Argument3[8]; +0x0010 a8 17 00 00 unsigned char Argument4[8]; +0x0018 a8 17 00 00 }; */ /* struct { unsigned char Completion[8]; +0x0000 ac 17 00 00 }; */ /* struct { /* unsigned char Write[0]; +0x0000 a0 17 00 00 /* unsigned char Read[0]; +0x0000 a0 17 00 00 /* unsigned char Ioctl[0]; +0x0000 a6 17 00 00 /* unsigned char Others[0]; +0x0000 aa 17 00 00 unsigned char Usb[48]; +0x0000 ae 17 00 00 }; */ struct _WDF_REQUEST_COMPLETION_PARAMS { unsigned long Size; /* +0x0000 */ unsigned char Type[4]; /* +0x0004 6b 16 00 00 */ unsigned char IoStatus[16]; /* +0x0008 d9 11 00 00 */ unsigned char Parameters[48]; /* +0x0018 b0 17 00 00 */ }; enum _WDF_REQUEST_TYPE { WdfRequestTypeCreate = 0, WdfRequestTypeCreateNamedPipe = 1, WdfRequestTypeClose = 2, WdfRequestTypeRead = 3, WdfRequestTypeWrite = 4, WdfRequestTypeQueryInformation = 5, WdfRequestTypeSetInformation = 6, WdfRequestTypeQueryEA = 7, WdfRequestTypeSetEA = 8, WdfRequestTypeFlushBuffers = 9, WdfRequestTypeQueryVolumeInformation = 10, WdfRequestTypeSetVolumeInformation = 11, WdfRequestTypeDirectoryControl = 12, WdfRequestTypeFileSystemControl = 13, WdfRequestTypeDeviceControl = 14, WdfRequestTypeDeviceControlInternal = 15, WdfRequestTypeShutdown = 16, WdfRequestTypeLockControl = 17, WdfRequestTypeCleanup = 18, WdfRequestTypeCreateMailSlot = 19, WdfRequestTypeQuerySecurity = 20, WdfRequestTypeSetSecurity = 21, WdfRequestTypePower = 22, WdfRequestTypeSystemControl = 23, WdfRequestTypeDeviceChange = 24, WdfRequestTypeQueryQuota = 25, WdfRequestTypeSetQuota = 26, WdfRequestTypePnp = 27, WdfRequestTypeOther = 28, WdfRequestTypeUsb = 64, WdfRequestTypeNoFormat = 255, WdfRequestTypeMax = 256 }; struct _WDF_REQUEST_REUSE_PARAMS { unsigned long Size; /* +0x0000 */ unsigned long Flags; /* +0x0004 */ long Status; /* +0x0008 */ unsigned char NewIrp[8]; /* +0x0010 0e 12 00 00 */ }; struct _WDF_REQUEST_SEND_OPTIONS { unsigned long Size; /* +0x0000 */ unsigned long Flags; /* +0x0004 */ long long Timeout; /* +0x0008 */ }; enum _WDF_IO_TARGET_OPEN_TYPE { WdfIoTargetOpenUndefined = 0, WdfIoTargetOpenUseExistingDevice = 1, WdfIoTargetOpenByName = 2, WdfIoTargetOpenReopen = 3 }; struct _WDF_IO_TARGET_OPEN_PARAMS { unsigned long Size; /* +0x0000 */ unsigned char Type[4]; /* +0x0004 1e 18 00 00 */ unsigned char EvtIoTargetQueryRemove[8]; /* +0x0008 21 18 00 00 */ unsigned char EvtIoTargetRemoveCanceled[8]; /* +0x0010 23 18 00 00 */ unsigned char EvtIoTargetRemoveComplete[8]; /* +0x0018 23 18 00 00 */ unsigned char TargetDeviceObject[8]; /* +0x0020 1b 12 00 00 */ unsigned char TargetFileObject[8]; /* +0x0028 26 12 00 00 */ unsigned char TargetDeviceName[16]; /* +0x0030 96 10 00 00 */ unsigned long DesiredAccess; /* +0x0040 */ unsigned long ShareAccess; /* +0x0044 */ unsigned long FileAttributes; /* +0x0048 */ unsigned long CreateDisposition; /* +0x004c */ unsigned long CreateOptions; /* +0x0050 */ void *EaBuffer; /* +0x0058 */ unsigned long EaBufferLength; /* +0x0060 */ long long *AllocationSize; /* +0x0068 */ unsigned long FileInformation; /* +0x0070 */ }; enum _WDF_IO_TARGET_SENT_IO_ACTION { WdfIoTargetSentIoUndefined = 0, WdfIoTargetCancelSentIo = 1, WdfIoTargetWaitForSentIoToComplete = 2, WdfIoTargetLeaveSentIoPending = 3 }; enum _WDF_IO_TARGET_PURGE_IO_ACTION { WdfIoTargetPurgeIoUndefined = 0, WdfIoTargetPurgeIoAndWait = 1, WdfIoTargetPurgeIo = 2 }; enum _WDF_IO_TARGET_STATE { WdfIoTargetStateUndefined = 0, WdfIoTargetStarted = 1, WdfIoTargetStopped = 2, WdfIoTargetClosedForQueryRemove = 3, WdfIoTargetClosed = 4, WdfIoTargetDeleted = 5, WdfIoTargetPurged = 6 }; enum _WDF_IO_QUEUE_STATE { WdfIoQueueAcceptRequests = 1, WdfIoQueueDispatchRequests = 2, WdfIoQueueNoRequests = 4, WdfIoQueueDriverNoRequests = 8, WdfIoQueuePnpHeld = 16 }; enum _WDF_IO_QUEUE_DISPATCH_TYPE { WdfIoQueueDispatchInvalid = 0, WdfIoQueueDispatchSequential = 1, WdfIoQueueDispatchParallel = 2, WdfIoQueueDispatchManual = 3, WdfIoQueueDispatchMax = 4 }; /* struct { unsigned long NumberOfPresentedRequests; +0x0000 }; */ /* struct { unsigned char Parallel[4]; +0x0000 7c 18 00 00 }; */ struct _WDF_IO_QUEUE_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char DispatchType[4]; /* +0x0004 6e 18 00 00 */ unsigned char PowerManaged[4]; /* +0x0008 33 15 00 00 */ unsigned char AllowZeroLengthRequests; /* +0x000c */ unsigned char DefaultQueue; /* +0x000d */ unsigned char EvtIoDefault[8]; /* +0x0010 71 18 00 00 */ unsigned char EvtIoRead[8]; /* +0x0018 74 18 00 00 */ unsigned char EvtIoWrite[8]; /* +0x0020 74 18 00 00 */ unsigned char EvtIoDeviceControl[8]; /* +0x0028 77 18 00 00 */ unsigned char EvtIoInternalDeviceControl[8]; /* +0x0030 77 18 00 00 */ unsigned char EvtIoStop[8]; /* +0x0038 7a 18 00 00 */ unsigned char EvtIoResume[8]; /* +0x0040 71 18 00 00 */ unsigned char EvtIoCanceledOnQueue[8]; /* +0x0048 71 18 00 00 */ unsigned char Settings[8]; /* +0x0050 7e 18 00 00 */ unsigned char Driver[8]; /* +0x0058 f8 13 00 00 */ }; enum _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY { WdfIoForwardProgressInvalidPolicy = 0, WdfIoForwardProgressReservedPolicyAlwaysUseReservedRequest = 1, WdfIoForwardProgressReservedPolicyUseExamine = 2, WdfIoForwardProgressReservedPolicyPagingIO = 3 }; struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY { unsigned long Size; /* +0x0000 */ unsigned long TotalForwardProgressRequests; /* +0x0004 */ unsigned char ForwardProgressReservedPolicy[8]; /* +0x0008 85 18 00 00 */ unsigned char ForwardProgressReservePolicySettings[8]; /* +0x0010 86 18 00 00 */ unsigned char EvtIoAllocateResourcesForReservedRequest[8]; /* +0x0018 88 18 00 00 */ unsigned char EvtIoAllocateRequestResources[8]; /* +0x0020 88 18 00 00 */ }; enum _WDF_IO_FORWARD_PROGRESS_ACTION { WdfIoForwardProgressActionInvalid = 0, WdfIoForwardProgressActionFailRequest = 1, WdfIoForwardProgressActionUseReservedRequest = 2 }; struct _WDF_FDO_EVENT_CALLBACKS { unsigned long Size; /* +0x0000 */ unsigned char EvtDeviceFilterAddResourceRequirements[8]; /* +0x0008 b9 18 00 00 */ unsigned char EvtDeviceFilterRemoveResourceRequirements[8]; /* +0x0010 b9 18 00 00 */ unsigned char EvtDeviceRemoveAddedResources[8]; /* +0x0018 53 15 00 00 */ }; struct _WDF_PDO_EVENT_CALLBACKS { unsigned long Size; /* +0x0000 */ unsigned char EvtDeviceResourcesQuery[8]; /* +0x0008 56 15 00 00 */ unsigned char EvtDeviceResourceRequirementsQuery[8]; /* +0x0010 b9 18 00 00 */ unsigned char EvtDeviceEject[8]; /* +0x0018 40 15 00 00 */ unsigned char EvtDeviceSetLock[8]; /* +0x0020 dc 18 00 00 */ unsigned char EvtDeviceEnableWakeAtBus[8]; /* +0x0028 df 18 00 00 */ unsigned char EvtDeviceDisableWakeAtBus[8]; /* +0x0030 42 15 00 00 */ unsigned char EvtDeviceReportedMissing[8]; /* +0x0038 42 15 00 00 */ }; enum _WDF_WMI_PROVIDER_CONTROL { WdfWmiControlInvalid = 0, WdfWmiEventControl = 1, WdfWmiInstanceControl = 2 }; struct _WDF_WMI_PROVIDER_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char Guid[16]; /* +0x0004 9b 10 00 00 */ unsigned long Flags; /* +0x0014 */ unsigned long MinInstanceBufferSize; /* +0x0018 */ unsigned char EvtWmiProviderFunctionControl[8]; /* +0x0020 04 19 00 00 */ }; struct _WDF_WMI_INSTANCE_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char Provider[8]; /* +0x0008 ff 18 00 00 */ unsigned char ProviderConfig[8]; /* +0x0010 fd 18 00 00 */ unsigned char UseContextForQuery; /* +0x0018 */ unsigned char Register; /* +0x0019 */ unsigned char EvtWmiInstanceQueryInstance[8]; /* +0x0020 0d 19 00 00 */ unsigned char EvtWmiInstanceSetInstance[8]; /* +0x0028 10 19 00 00 */ unsigned char EvtWmiInstanceSetItem[8]; /* +0x0030 13 19 00 00 */ unsigned char EvtWmiInstanceExecuteMethod[8]; /* +0x0038 16 19 00 00 */ }; enum _WDF_DMA_PROFILE { WdfDmaProfileInvalid = 0, WdfDmaProfilePacket = 1, WdfDmaProfileScatterGather = 2, WdfDmaProfilePacket64 = 3, WdfDmaProfileScatterGather64 = 4, WdfDmaProfileScatterGatherDuplex = 5, WdfDmaProfileScatterGather64Duplex = 6, WdfDmaProfileSystem = 7, WdfDmaProfileSystemDuplex = 8 }; struct _WDF_DMA_ENABLER_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char Profile[4]; /* +0x0004 73 19 00 00 */ unsigned long long MaximumLength; /* +0x0008 */ unsigned char EvtDmaEnablerFill[8]; /* +0x0010 78 19 00 00 */ unsigned char EvtDmaEnablerFlush[8]; /* +0x0018 78 19 00 00 */ unsigned char EvtDmaEnablerDisable[8]; /* +0x0020 78 19 00 00 */ unsigned char EvtDmaEnablerEnable[8]; /* +0x0028 78 19 00 00 */ unsigned char EvtDmaEnablerSelfManagedIoStart[8]; /* +0x0030 78 19 00 00 */ unsigned char EvtDmaEnablerSelfManagedIoStop[8]; /* +0x0038 78 19 00 00 */ unsigned long AddressWidthOverride; /* +0x0040 */ unsigned long WdmDmaVersionOverride; /* +0x0044 */ unsigned long Flags; /* +0x0048 */ }; enum _DMA_WIDTH { Width8Bits = 0, Width16Bits = 1, Width32Bits = 2, Width64Bits = 3, WidthNoWrap = 4, MaximumDmaWidth = 5 }; struct _WDF_DMA_SYSTEM_PROFILE_CONFIG { unsigned long Size; /* +0x0000 */ unsigned char DemandMode; /* +0x0004 */ unsigned char LoopedTransfer; /* +0x0005 */ unsigned char DmaWidth[8]; /* +0x0008 7f 19 00 00 */ unsigned char DeviceAddress[8]; /* +0x0010 2b 10 00 00 */ unsigned char DmaDescriptor[8]; /* +0x0018 e3 16 00 00 */ }; enum _WDF_DMA_DIRECTION { WdfDmaDirectionReadFromDevice = 0, WdfDmaDirectionWriteToDevice = 1 }; struct _WDF_COMMON_BUFFER_CONFIG { unsigned long Size; /* +0x0000 */ unsigned long AlignmentRequirement; /* +0x0004 */ }; struct _FDO_DATA { unsigned char Self[8]; /* +0x0000 1b 12 00 00 */ unsigned char Pdo[8]; /* +0x0008 1b 12 00 00 */ unsigned char DefaultTarget[8]; /* +0x0010 c3 15 00 00 */ unsigned char WmiLibInfo[64]; /* +0x0018 ff 19 00 00 */ unsigned char DeviceLink[16]; /* +0x0058 75 10 00 00 */ unsigned long InitialApicID; /* +0x0068 */ unsigned long AcpiID; /* +0x006c */ unsigned long NtNumber; /* +0x0070 */ /* unsigned char LpIndex[0]; +0x0070 75 00 00 00 */ unsigned long GenericIndex; /* +0x0070 */ unsigned char ResumeFromSleep; /* +0x0074 */ unsigned char Revision; /* +0x0075 */ unsigned char Spare[2]; /* +0x0076 25 10 00 00 */ unsigned char AcpiInterfaces[88]; /* +0x0078 00 1a 00 00 */ unsigned char PBlkAddress[16]; /* +0x00d0 01 1a 00 00 */ unsigned long long MonitorAddress; /* +0x00e0 */ unsigned char AcpiObjectLock[8]; /* +0x00e8 25 14 00 00 */ unsigned char RuntimePerfConstraint[8]; /* +0x00f0 03 1a 00 00 */ unsigned char RuntimePccConstraint[8]; /* +0x00f8 05 1a 00 00 */ unsigned char CpcRuntimeState[8]; /* +0x0100 07 1a 00 00 */ unsigned long DrvCapabilities; /* +0x0108 */ unsigned long PPMFeatureFlags; /* +0x010c */ unsigned long PPMFound; /* +0x0110 */ unsigned long PPMEnabled; /* +0x0114 */ unsigned char SetPState[8]; /* +0x0118 0a 1a 00 00 */ unsigned char SetTState[8]; /* +0x0120 0a 1a 00 00 */ unsigned char PStateFeedback[8]; /* +0x0128 0d 1a 00 00 */ unsigned char GetFFHThrottleState[8]; /* +0x0130 10 1a 00 00 */ unsigned char SetBoostPolicy[8]; /* +0x0138 bd 10 00 00 */ unsigned char GetFrequencySensitivity[8]; /* +0x0140 a0 12 00 00 */ unsigned char PCT[24]; /* +0x0148 11 1a 00 00 */ unsigned char PSS[8]; /* +0x0160 13 1a 00 00 */ unsigned char XPSS[8]; /* +0x0168 13 1a 00 00 */ unsigned long PPC; /* +0x0170 */ unsigned char PSD[8]; /* +0x0178 15 1a 00 00 */ unsigned char PTC[24]; /* +0x0180 11 1a 00 00 */ unsigned char TSS[8]; /* +0x0198 17 1a 00 00 */ unsigned long TPC; /* +0x01a0 */ unsigned char TSD[8]; /* +0x01a8 15 1a 00 00 */ unsigned char CST[8]; /* +0x01b0 19 1a 00 00 */ unsigned char CSD[8]; /* +0x01b8 1b 1a 00 00 */ unsigned char XSD[8]; /* +0x01c0 15 1a 00 00 */ unsigned char PerfDomain[8]; /* +0x01c8 1d 1a 00 00 */ unsigned char PerfDomainLink[16]; /* +0x01d0 75 10 00 00 */ unsigned char Pccp[8]; /* +0x01e0 1f 1a 00 00 */ unsigned char CPC[8]; /* +0x01e8 21 1a 00 00 */ unsigned char AcpiNotify80[16]; /* +0x01f0 22 1a 00 00 */ unsigned char AcpiNotify81[16]; /* +0x0200 22 1a 00 00 */ unsigned char AcpiNotify82[16]; /* +0x0210 22 1a 00 00 */ unsigned char RuntimeIdleStates[8]; /* +0x0220 24 1a 00 00 */ unsigned char IdleStatesInitilized; /* +0x0228 */ unsigned char IdleStateEntries[8]; /* +0x0230 26 1a 00 00 */ unsigned long PccCap; /* +0x0238 */ unsigned char CapStart[8]; /* +0x0240 2b 10 00 00 */ unsigned char CapDuration[8]; /* +0x0248 2b 10 00 00 */ unsigned long PpcChanges; /* +0x0250 */ unsigned long TpcChanges; /* +0x0254 */ unsigned long PccCapChanges; /* +0x0258 */ unsigned char CapQuickLog[152]; /* +0x0260 27 1a 00 00 */ unsigned char CapLongLog[152]; /* +0x02f8 27 1a 00 00 */ unsigned char Package[8]; /* +0x0390 29 1a 00 00 */ unsigned char PackageLink[16]; /* +0x0398 75 10 00 00 */ unsigned long FeaturesPresent; /* +0x03a8 */ unsigned long FeaturesAccessed; /* +0x03ac */ unsigned long FeaturesInvalidated; /* +0x03b0 */ unsigned char FxHandle[8]; /* +0x03b8 8b 15 00 00 */ unsigned char PepIdleStates[8]; /* +0x03c0 2b 1a 00 00 */ unsigned char RuntimePepIdleStates[8]; /* +0x03c8 2d 1a 00 00 */ unsigned long PepIdleStateCount; /* +0x03d0 */ unsigned char PepParkingSupported; /* +0x03d4 */ }; struct _IO_RESOURCE_REQUIREMENTS_LIST { unsigned long ListSize; /* +0x0000 */ unsigned char InterfaceType[4]; /* +0x0004 55 16 00 00 */ unsigned long BusNumber; /* +0x0008 */ unsigned long SlotNumber; /* +0x000c */ unsigned char Reserved[12]; /* +0x0010 3c 10 00 00 */ unsigned long AlternativeLists; /* +0x001c */ unsigned char List[40]; /* +0x0020 39 1a 00 00 */ }; struct _DISPATCHER_HEADER { unsigned char Type; /* +0x0000 */ unsigned char TimerControlFlags; /* +0x0001 */ /* unsigned char Absolute[0]; +0x0001 00 11 00 00 */ /* unsigned char Wake[0]; +0x0001 3c 1a 00 00 */ /* unsigned char Coalescable[0]; +0x0001 3d 1a 00 00 */ /* unsigned char KeepShifting[0]; +0x0001 3e 1a 00 00 */ /* unsigned char EncodedTolerableDelay[0]; +0x0001 3f 1a 00 00 */ unsigned char Abandoned; /* +0x0001 */ unsigned char Signalling; /* +0x0001 */ unsigned char ThreadControlFlags; /* +0x0002 */ /* unsigned char CycleProfiling[0]; +0x0002 00 11 00 00 */ /* unsigned char CounterProfiling[0]; +0x0002 3c 1a 00 00 */ /* unsigned char GroupScheduling[0]; +0x0002 3d 1a 00 00 */ /* unsigned char AffinitySet[0]; +0x0002 3e 1a 00 00 */ /* unsigned char Reserved[0]; +0x0002 3f 1a 00 00 */ unsigned char Hand; /* +0x0002 */ unsigned char Size; /* +0x0002 */ unsigned char TimerMiscFlags; /* +0x0003 */ /* unsigned char Index[0]; +0x0003 40 1a 00 00 */ /* unsigned char Inserted[0]; +0x0003 41 1a 00 00 */ /* unsigned char Expired[0]; +0x0003 42 1a 00 00 */ unsigned char DebugActive; /* +0x0003 */ /* unsigned char ActiveDR7[0]; +0x0003 00 11 00 00 */ /* unsigned char Instrumented[0]; +0x0003 3c 1a 00 00 */ /* unsigned char Reserved2[0]; +0x0003 43 1a 00 00 */ /* unsigned char UmsScheduled[0]; +0x0003 41 1a 00 00 */ /* unsigned char UmsPrimary[0]; +0x0003 44 1a 00 00 */ unsigned char DpcActive; /* +0x0003 */ unsigned char Lock[4]; /* +0x0000 19 10 00 00 */ long SignalState; /* +0x0004 */ unsigned char WaitListHead[16]; /* +0x0008 75 10 00 00 */ }; struct _PEP_PPM_QUERY_IDLE_STATES { unsigned long Count; /* +0x0000 */ unsigned long MaximumCoordinatedProcessors; /* +0x0004 */ unsigned char IdleStates[4]; /* +0x0008 48 1a 00 00 */ }; struct _INITIAL_PRIVILEGE_SET { unsigned long PrivilegeCount; /* +0x0000 */ unsigned long Control; /* +0x0004 */ unsigned char Privilege[36]; /* +0x0008 4c 1a 00 00 */ }; struct ACPI_CPC { unsigned long NumberOfEntries; /* +0x0000 */ unsigned long Revision; /* +0x0004 */ unsigned char HighestPerformance[12]; /* +0x0008 01 1a 00 00 */ unsigned char NominalPerformance[12]; /* +0x0014 01 1a 00 00 */ unsigned char LowestNonlinearPerformance[12]; /* +0x0020 01 1a 00 00 */ unsigned char LowestPerformance[12]; /* +0x002c 01 1a 00 00 */ unsigned char GuaranteedPerformance[12]; /* +0x0038 01 1a 00 00 */ unsigned char DesiredPerformance[12]; /* +0x0044 01 1a 00 00 */ unsigned char MinimumPerformance[12]; /* +0x0050 01 1a 00 00 */ unsigned char MaximumPerformance[12]; /* +0x005c 01 1a 00 00 */ unsigned char TimeWindow[12]; /* +0x0068 01 1a 00 00 */ unsigned char CounterWraparound[12]; /* +0x0074 01 1a 00 00 */ unsigned char NominalCounter[12]; /* +0x0080 01 1a 00 00 */ unsigned char DeliveredCounter[12]; /* +0x008c 01 1a 00 00 */ unsigned char PerformanceLimited[12]; /* +0x0098 01 1a 00 00 */ unsigned char Enable[12]; /* +0x00a4 01 1a 00 00 */ }; struct _GROUP_AFFINITY { unsigned long long Mask; /* +0x0000 */ unsigned short Group; /* +0x0008 */ unsigned char Reserved[6]; /* +0x000a fc 10 00 00 */ }; struct _KAPC { unsigned char Type; /* +0x0000 */ unsigned char SpareByte0; /* +0x0001 */ unsigned char Size; /* +0x0002 */ unsigned char SpareByte1; /* +0x0003 */ unsigned long SpareLong0; /* +0x0004 */ unsigned char Thread[8]; /* +0x0008 29 11 00 00 */ unsigned char ApcListEntry[16]; /* +0x0010 75 10 00 00 */ unsigned char KernelRoutine[8]; /* +0x0020 57 1a 00 00 */ unsigned char RundownRoutine[8]; /* +0x0028 5a 1a 00 00 */ /* unsigned char NormalRoutine[-16]; +0x0030 c0 10 00 00 */ unsigned char Reserved[24]; /* +0x0020 43 11 00 00 */ void *NormalContext; /* +0x0038 */ void *SystemArgument1; /* +0x0040 */ void *SystemArgument2; /* +0x0048 */ char ApcStateIndex; /* +0x0050 */ char ApcMode; /* +0x0051 */ unsigned char Inserted; /* +0x0052 */ }; struct _TEB_ACTIVE_FRAME { unsigned long Flags; /* +0x0000 */ unsigned char Previous[8]; /* +0x0008 9e 10 00 00 */ unsigned char Context[8]; /* +0x0010 5f 1a 00 00 */ }; struct _ACCESS_REASONS { unsigned char Data[128]; /* +0x0000 62 1a 00 00 */ }; struct _WHEA_ERROR_PACKET_FLAGS { /* unsigned char PreviousError[0]; +0x0000 32 10 00 00 */ /* unsigned char Reserved1[0]; +0x0000 33 10 00 00 */ /* unsigned char HypervisorError[0]; +0x0000 34 10 00 00 */ /* unsigned char Simulated[0]; +0x0000 35 10 00 00 */ /* unsigned char PlatformPfaControl[0]; +0x0000 36 10 00 00 */ /* unsigned char PlatformDirectedOffline[0]; +0x0000 37 10 00 00 */ /* unsigned char Reserved2[0]; +0x0000 65 1a 00 00 */ unsigned long AsULONG; /* +0x0000 */ }; struct _NT_TIB { unsigned char ExceptionList[8]; /* +0x0000 6a 1a 00 00 */ void *StackBase; /* +0x0008 */ void *StackLimit; /* +0x0010 */ void *SubSystemTib; /* +0x0018 */ void *FiberData; /* +0x0020 */ unsigned long Version; /* +0x0020 */ void *ArbitraryUserPointer; /* +0x0028 */ unsigned char Self[8]; /* +0x0030 6b 1a 00 00 */ }; struct _WHEA_REVISION { unsigned char MinorRevision; /* +0x0000 */ unsigned char MajorRevision; /* +0x0001 */ unsigned short AsUSHORT; /* +0x0000 */ }; struct _IDLE_STATE_ENTRIES { unsigned long Count; /* +0x0000 */ unsigned char State[32]; /* +0x0008 71 1a 00 00 */ }; struct _WHEA_ERROR_RECORD_HEADER { unsigned long Signature; /* +0x0000 */ unsigned char Revision[2]; /* +0x0004 85 13 00 00 */ unsigned long SignatureEnd; /* +0x0006 */ unsigned short SectionCount; /* +0x000a */ unsigned char Severity[4]; /* +0x000c 75 13 00 00 */ unsigned char ValidBits[4]; /* +0x0010 74 1a 00 00 */ unsigned long Length; /* +0x0014 */ unsigned char Timestamp[8]; /* +0x0018 75 1a 00 00 */ unsigned char PlatformId[16]; /* +0x0020 9b 10 00 00 */ unsigned char PartitionId[16]; /* +0x0030 9b 10 00 00 */ unsigned char CreatorId[16]; /* +0x0040 9b 10 00 00 */ unsigned char NotifyType[16]; /* +0x0050 9b 10 00 00 */ unsigned long long RecordId; /* +0x0060 */ unsigned char Flags[4]; /* +0x0068 76 1a 00 00 */ unsigned char PersistenceInfo[8]; /* +0x006c 77 1a 00 00 */ unsigned char Reserved[12]; /* +0x0074 78 1a 00 00 */ }; enum _PS_ATTRIBUTE_NUM { PsAttributeParentProcess = 0, PsAttributeDebugObject = 1, PsAttributeToken = 2, PsAttributeClientId = 3, PsAttributeTebAddress = 4, PsAttributeImageName = 5, PsAttributeImageInfo = 6, PsAttributeMemoryReserve = 7, PsAttributePriorityClass = 8, PsAttributeErrorMode = 9, PsAttributeStdHandleInfo = 10, PsAttributeHandleList = 11, PsAttributeGroupAffinity = 12, PsAttributePreferredNode = 13, PsAttributeIdealProcessor = 14, PsAttributeUmsThread = 15, PsAttributeMitigationOptions = 16, PsAttributeSecurityCapabilities = 17, PsAttributeMax = 18 }; struct _DRIVER_EXTENSION { unsigned char DriverObject[8]; /* +0x0000 aa 12 00 00 */ unsigned char AddDevice[8]; /* +0x0008 80 1a 00 00 */ unsigned long Count; /* +0x0010 */ unsigned char ServiceKeyName[16]; /* +0x0018 96 10 00 00 */ }; struct _PRIVILEGE_SET { unsigned long PrivilegeCount; /* +0x0000 */ unsigned long Control; /* +0x0004 */ unsigned char Privilege[12]; /* +0x0008 83 1a 00 00 */ }; enum _WDF_STATE_NOTIFICATION_TYPE { StateNotificationInvalid = 0, StateNotificationEnterState = 1, StateNotificationPostProcessState = 2, StateNotificationLeaveState = 4, StateNotificationAllStates = 7 }; /* struct { unsigned char CurrentState[4]; +0x0000 cc 15 00 00 unsigned char NewState[4]; +0x0004 cc 15 00 00 }; */ /* struct { unsigned char CurrentState[4]; +0x0000 cc 15 00 00 }; */ /* struct { /* unsigned char EnterState[0]; +0x0000 89 1a 00 00 /* unsigned char PostProcessState[0]; +0x0000 8b 1a 00 00 unsigned char LeaveState[8]; +0x0000 89 1a 00 00 }; */ struct _WDF_DEVICE_POWER_NOTIFICATION_DATA { unsigned char Type[4]; /* +0x0000 87 1a 00 00 */ unsigned char Data[8]; /* +0x0004 8d 1a 00 00 */ }; struct _IMAGE_FILE_HEADER { unsigned short Machine; /* +0x0000 */ unsigned short NumberOfSections; /* +0x0002 */ unsigned long TimeDateStamp; /* +0x0004 */ unsigned long PointerToSymbolTable; /* +0x0008 */ unsigned long NumberOfSymbols; /* +0x000c */ unsigned short SizeOfOptionalHeader; /* +0x0010 */ unsigned short Characteristics; /* +0x0012 */ }; enum _USER_ACTIVITY_PRESENCE { PowerUserPresent = 0, PowerUserNotPresent = 1, PowerUserInactive = 2, PowerUserMaximum = 3, PowerUserInvalid = 3 }; struct _GENERAL_LOOKASIDE { /* unsigned char ListHead[0]; +0x0000 75 11 00 00 */ unsigned char SingleListHead[16]; /* +0x0000 c4 10 00 00 */ unsigned short Depth; /* +0x0010 */ unsigned short MaximumDepth; /* +0x0012 */ unsigned long TotalAllocates; /* +0x0014 */ unsigned long AllocateMisses; /* +0x0018 */ unsigned long AllocateHits; /* +0x0018 */ unsigned long TotalFrees; /* +0x001c */ unsigned long FreeMisses; /* +0x0020 */ unsigned long FreeHits; /* +0x0020 */ unsigned char Type[4]; /* +0x0024 8c 11 00 00 */ unsigned long Tag; /* +0x0028 */ unsigned long Size; /* +0x002c */ /* unsigned char AllocateEx[0]; +0x0030 8f 11 00 00 */ unsigned char Allocate[8]; /* +0x0030 a2 11 00 00 */ /* unsigned char FreeEx[0]; +0x0038 96 11 00 00 */ unsigned char Free[8]; /* +0x0038 a6 11 00 00 */ unsigned char ListEntry[16]; /* +0x0040 75 10 00 00 */ unsigned long LastTotalAllocates; /* +0x0050 */ unsigned long LastAllocateMisses; /* +0x0054 */ unsigned long LastAllocateHits; /* +0x0054 */ unsigned char Future[40]; /* +0x0058 22 10 00 00 */ }; struct _IO_COMPLETION_CONTEXT { void *Port; /* +0x0000 */ void *Key; /* +0x0008 */ }; struct ACPI_PSS { unsigned long Count; /* +0x0000 */ unsigned char State[48]; /* +0x0008 99 1a 00 00 */ }; struct _RUNTIME_PERF_CONSTRAINT { unsigned long CurrentType; /* +0x0000 */ unsigned long CurrentPercentFrequency; /* +0x0004 */ unsigned long TargetState; /* +0x0008 */ unsigned char PerfStates[8]; /* +0x0010 9d 1a 00 00 */ unsigned long long CumulativeActualCount; /* +0x0018 */ unsigned long long CumulativeMasterCount; /* +0x0020 */ unsigned long long LastFrequencyActualCount; /* +0x0028 */ unsigned long long LastFrequencyReferenceCount; /* +0x0030 */ unsigned long FrequencySensitivity; /* +0x0038 */ unsigned char UpdateOnIdle[4]; /* +0x003c 3f 10 00 00 */ }; struct _DMA_TRANSFER_INFO { unsigned long Version; /* +0x0000 */ unsigned char V1[12]; /* +0x0004 a0 1a 00 00 */ }; struct _CAP_LOG_STATE { unsigned char Timer[64]; /* +0x0000 a3 1a 00 00 */ unsigned char Dpc[64]; /* +0x0040 a1 12 00 00 */ unsigned char CapDuration[8]; /* +0x0080 2b 10 00 00 */ unsigned long PpcChanges; /* +0x0088 */ unsigned long TpcChanges; /* +0x008c */ unsigned long PccCapChanges; /* +0x0090 */ unsigned char TimerQueued; /* +0x0094 */ }; struct _PEB { unsigned char InheritedAddressSpace; /* +0x0000 */ unsigned char ReadImageFileExecOptions; /* +0x0001 */ unsigned char BeingDebugged; /* +0x0002 */ unsigned char BitField; /* +0x0003 */ /* unsigned char ImageUsesLargePages[0]; +0x0003 00 11 00 00 */ /* unsigned char IsProtectedProcess[0]; +0x0003 3c 1a 00 00 */ /* unsigned char IsLegacyProcess[0]; +0x0003 3d 1a 00 00 */ /* unsigned char IsImageDynamicallyRelocated[0]; +0x0003 3e 1a 00 00 */ /* unsigned char SkipPatchingUser32Forwarders[0]; +0x0003 a6 1a 00 00 */ unsigned char SpareBits[5]; /* +0x0003 a7 1a 00 00 */ void *Mutant; /* +0x0008 */ void *ImageBaseAddress; /* +0x0010 */ unsigned char Ldr[8]; /* +0x0018 a9 1a 00 00 */ unsigned char ProcessParameters[8]; /* +0x0020 ab 1a 00 00 */ void *SubSystemData; /* +0x0028 */ void *ProcessHeap; /* +0x0030 */ unsigned char FastPebLock[8]; /* +0x0038 ad 1a 00 00 */ void *AtlThunkSListPtr; /* +0x0040 */ void *IFEOKey; /* +0x0048 */ unsigned long CrossProcessFlags; /* +0x0050 */ /* unsigned char ProcessInJob[0]; +0x0050 32 10 00 00 */ /* unsigned char ProcessInitializing[0]; +0x0050 33 10 00 00 */ /* unsigned char ProcessUsingVEH[0]; +0x0050 34 10 00 00 */ /* unsigned char ProcessUsingVCH[0]; +0x0050 35 10 00 00 */ /* unsigned char ProcessUsingFTH[0]; +0x0050 36 10 00 00 */ unsigned char ReservedBits0[8]; /* +0x0050 ae 1a 00 00 */ void *KernelCallbackTable; /* +0x0058 */ void *UserSharedInfoPtr; /* +0x0058 */ unsigned char SystemReserved[4]; /* +0x0060 2a 10 00 00 */ unsigned long AtlThunkSListPtr32; /* +0x0064 */ void *ApiSetMap; /* +0x0068 */ unsigned long TlsExpansionCounter; /* +0x0070 */ void *TlsBitmap; /* +0x0078 */ unsigned char TlsBitmapBits[8]; /* +0x0080 22 10 00 00 */ void *ReadOnlySharedMemoryBase; /* +0x0088 */ void *HotpatchInformation; /* +0x0090 */ unsigned char ReadOnlyStaticServerData[8]; /* +0x0098 6c 10 00 00 */ void *AnsiCodePageData; /* +0x00a0 */ void *OemCodePageData; /* +0x00a8 */ void *UnicodeCaseTableData; /* +0x00b0 */ unsigned long NumberOfProcessors; /* +0x00b8 */ unsigned long NtGlobalFlag; /* +0x00bc */ unsigned char CriticalSectionTimeout[8]; /* +0x00c0 2b 10 00 00 */ unsigned long long HeapSegmentReserve; /* +0x00c8 */ unsigned long long HeapSegmentCommit; /* +0x00d0 */ unsigned long long HeapDeCommitTotalFreeThreshold; /* +0x00d8 */ unsigned long long HeapDeCommitFreeBlockThreshold; /* +0x00e0 */ unsigned long NumberOfHeaps; /* +0x00e8 */ unsigned long MaximumNumberOfHeaps; /* +0x00ec */ unsigned char ProcessHeaps[8]; /* +0x00f0 6c 10 00 00 */ void *GdiSharedHandleTable; /* +0x00f8 */ void *ProcessStarterHelper; /* +0x0100 */ unsigned long GdiDCAttributeList; /* +0x0108 */ unsigned char LoaderLock[8]; /* +0x0110 ad 1a 00 00 */ unsigned long OSMajorVersion; /* +0x0118 */ unsigned long OSMinorVersion; /* +0x011c */ unsigned short OSBuildNumber; /* +0x0120 */ unsigned short OSCSDVersion; /* +0x0122 */ unsigned long OSPlatformId; /* +0x0124 */ unsigned long ImageSubsystem; /* +0x0128 */ unsigned long ImageSubsystemMajorVersion; /* +0x012c */ unsigned long ImageSubsystemMinorVersion; /* +0x0130 */ unsigned long long ActiveProcessAffinityMask; /* +0x0138 */ unsigned char GdiHandleBuffer[240]; /* +0x0140 af 1a 00 00 */ unsigned char PostProcessInitRoutine[8]; /* +0x0230 ac 11 00 00 */ void *TlsExpansionBitmap; /* +0x0238 */ unsigned char TlsExpansionBitmapBits[128]; /* +0x0240 62 1a 00 00 */ unsigned long SessionId; /* +0x02c0 */ unsigned char AppCompatFlags[8]; /* +0x02c8 44 10 00 00 */ unsigned char AppCompatFlagsUser[8]; /* +0x02d0 44 10 00 00 */ void *pShimData; /* +0x02d8 */ void *AppCompatInfo; /* +0x02e0 */ unsigned char CSDVersion[16]; /* +0x02e8 96 10 00 00 */ unsigned char ActivationContextData[8]; /* +0x02f8 b2 1a 00 00 */ unsigned char ProcessAssemblyStorageMap[8]; /* +0x0300 b4 1a 00 00 */ unsigned char SystemDefaultActivationContextData[8]; /* +0x0308 b2 1a 00 00 */ unsigned char SystemAssemblyStorageMap[8]; /* +0x0310 b4 1a 00 00 */ unsigned long long MinimumStackCommit; /* +0x0318 */ unsigned char FlsCallback[8]; /* +0x0320 b6 1a 00 00 */ unsigned char FlsListHead[16]; /* +0x0328 75 10 00 00 */ void *FlsBitmap; /* +0x0338 */ unsigned char FlsBitmapBits[16]; /* +0x0340 b7 1a 00 00 */ unsigned long FlsHighIndex; /* +0x0350 */ void *WerRegistrationData; /* +0x0358 */ void *WerShipAssertPtr; /* +0x0360 */ void *pUnused; /* +0x0368 */ void *pImageHeaderHash; /* +0x0370 */ unsigned long TracingFlags; /* +0x0378 */ /* unsigned char HeapTracingEnabled[0]; +0x0378 32 10 00 00 */ /* unsigned char CritSecTracingEnabled[0]; +0x0378 33 10 00 00 */ /* unsigned char LibLoaderTracingEnabled[0]; +0x0378 34 10 00 00 */ unsigned char SpareTracingBits[8]; /* +0x0378 b8 1a 00 00 */ unsigned long long CsrServerReadOnlySharedMemoryBase; /* +0x0380 */ }; struct _KSPIN_LOCK_QUEUE { unsigned char Next[8]; /* +0x0000 bb 1a 00 00 */ unsigned char Lock[8]; /* +0x0008 bc 1a 00 00 */ }; enum _JOBOBJECTINFOCLASS { JobObjectBasicAccountingInformation = 1, JobObjectBasicLimitInformation = 2, JobObjectBasicProcessIdList = 3, JobObjectBasicUIRestrictions = 4, JobObjectSecurityLimitInformation = 5, JobObjectEndOfJobTimeInformation = 6, JobObjectAssociateCompletionPortInformation = 7, JobObjectBasicAndIoAccountingInformation = 8, JobObjectExtendedLimitInformation = 9, JobObjectJobSetInformation = 10, JobObjectGroupInformation = 11, JobObjectNotificationLimitInformation = 12, JobObjectLimitViolationInformation = 13, JobObjectGroupInformationEx = 14, JobObjectCpuRateControlInformation = 15, JobObjectCompletionFilter = 16, JobObjectCompletionCounter = 17, JobObjectFreezeInformation = 18, JobObjectExtendedAccountingInformation = 19, JobObjectWakeInformation = 20, JobObjectIdleAwareInformation = 21, JobObjectSchedulingRankBiasInformation = 22, JobObjectTimerVirtualizationInformation = 23, JobObjectCycleTimeNotification = 24, JobObjectReserved1Information = 18, JobObjectReserved2Information = 19, JobObjectReserved3Information = 20, JobObjectReserved4Information = 21, JobObjectReserved5Information = 22, JobObjectReserved6Information = 23, JobObjectReserved7Information = 24, MaxJobObjectInfoClass = 25 }; struct ACPI_CTRL_STATUS { unsigned char Control[12]; /* +0x0000 01 1a 00 00 */ unsigned char Status[12]; /* +0x000c 01 1a 00 00 */ }; struct _TEB_ACTIVE_FRAME_CONTEXT { unsigned long Flags; /* +0x0000 */ unsigned char FrameName[8]; /* +0x0008 10 10 00 00 */ }; struct _XSTATE_CONFIGURATION { unsigned long long EnabledFeatures; /* +0x0000 */ unsigned long Size; /* +0x0008 */ unsigned char OptimizedSave[4]; /* +0x000c 32 10 00 00 */ unsigned char Features[512]; /* +0x0010 c6 1a 00 00 */ }; struct WMI_EVENT { unsigned char Instance[8]; /* +0x0000 0a 19 00 00 */ unsigned long DataSize; /* +0x0008 */ unsigned char Registered; /* +0x000c */ }; struct _DMA_ADAPTER_INFO { unsigned long Version; /* +0x0000 */ unsigned char V1[20]; /* +0x0004 cb 1a 00 00 */ }; struct _CM_RESOURCE_LIST { unsigned long Count; /* +0x0000 */ unsigned char List[36]; /* +0x0004 cf 1a 00 00 */ }; struct _CM_FULL_RESOURCE_DESCRIPTOR { unsigned char InterfaceType[4]; /* +0x0000 55 16 00 00 */ unsigned long BusNumber; /* +0x0004 */ unsigned char PartialResourceList[28]; /* +0x0008 d2 1a 00 00 */ }; struct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS { /* unsigned char Primary[0]; +0x0000 32 10 00 00 */ /* unsigned char ContainmentWarning[0]; +0x0000 33 10 00 00 */ /* unsigned char Reset[0]; +0x0000 34 10 00 00 */ /* unsigned char ThresholdExceeded[0]; +0x0000 35 10 00 00 */ /* unsigned char ResourceNotAvailable[0]; +0x0000 36 10 00 00 */ /* unsigned char LatentError[0]; +0x0000 37 10 00 00 */ /* unsigned char Reserved[0]; +0x0000 65 1a 00 00 */ unsigned long AsULONG; /* +0x0000 */ }; struct _POWER_SEQUENCE { unsigned long SequenceD1; /* +0x0000 */ unsigned long SequenceD2; /* +0x0004 */ unsigned long SequenceD3; /* +0x0008 */ }; struct GLOBALS { unsigned long PPMRegFlags; /* +0x0000 */ unsigned long PPMOverrideFlags; /* +0x0004 */ unsigned long PPMCapabilities; /* +0x0008 */ unsigned long ProcessorCount; /* +0x000c */ unsigned char Mutex[8]; /* +0x0010 25 14 00 00 */ unsigned char DeviceHead[16]; /* +0x0018 75 10 00 00 */ unsigned char PerfDomainHead[16]; /* +0x0028 75 10 00 00 */ unsigned char PackageHead[16]; /* +0x0038 75 10 00 00 */ unsigned char IdleDomainHead[16]; /* +0x0048 75 10 00 00 */ unsigned char PccHead[16]; /* +0x0058 75 10 00 00 */ unsigned char ProcessorsAvailable[72]; /* +0x0068 da 1a 00 00 */ unsigned char DrvInterface[160]; /* +0x00b0 db 1a 00 00 */ unsigned char ProcessorsEnumerated[72]; /* +0x0150 da 1a 00 00 */ unsigned char RegisterIdleStates[8]; /* +0x0198 de 1a 00 00 */ unsigned char RegisterPStates[8]; /* +0x01a0 de 1a 00 00 */ unsigned char RegisterPerfCap[8]; /* +0x01a8 de 1a 00 00 */ unsigned char RegisterLegacyPcc[8]; /* +0x01b0 de 1a 00 00 */ unsigned char RegisterCpc[8]; /* +0x01b8 de 1a 00 00 */ unsigned char GetProcessorIndex[8]; /* +0x01c0 de 1a 00 00 */ unsigned char RegisterPackage[8]; /* +0x01c8 de 1a 00 00 */ unsigned char SummaryEvent[8]; /* +0x01d0 5c 11 00 00 */ unsigned char Summary2Event[8]; /* +0x01d8 5c 11 00 00 */ unsigned char IdleStatesErrorEvent[8]; /* +0x01e0 5c 11 00 00 */ unsigned char PerfStatesErrorEvent[8]; /* +0x01e8 5c 11 00 00 */ unsigned char ThrottleStatesErrorEvent[8]; /* +0x01f0 5c 11 00 00 */ unsigned char CapInfoEvent[8]; /* +0x01f8 5c 11 00 00 */ unsigned char SyntheticPsdAllowed; /* +0x0200 */ unsigned char HvPresent; /* +0x0201 */ unsigned long HvDomainCount; /* +0x0204 */ unsigned char PccInterfaceInternal[88]; /* +0x0208 df 1a 00 00 */ unsigned long Errata; /* +0x0260 */ unsigned char PccInterface[112]; /* +0x0268 e0 1a 00 00 */ unsigned char PccSubspace[8]; /* +0x02d8 e2 1a 00 00 */ unsigned long PccRegisteredProcessors; /* +0x02e0 */ unsigned char PccCallback[8]; /* +0x02e8 ac 11 00 00 */ unsigned char PccMutex[8]; /* +0x02f0 33 14 00 00 */ unsigned char PccCapWorker[8]; /* +0x02f8 e4 1a 00 00 */ unsigned char PepRegisteredProcessors[4]; /* +0x0300 27 10 00 00 */ unsigned char PccCapUpdated; /* +0x0304 */ unsigned char PccCapWorkerQueued; /* +0x0305 */ unsigned char AssertsDisabled; /* +0x0306 */ }; struct ACPI_xSD { unsigned long Count; /* +0x0000 */ unsigned char State[20]; /* +0x0004 e8 1a 00 00 */ }; struct _PEP_PROCESSOR_IDLE_STATE { unsigned long Ulong; /* +0x0000 */ /* unsigned char Interruptible[0]; +0x0000 32 10 00 00 */ /* unsigned char CacheCoherent[0]; +0x0000 33 10 00 00 */ /* unsigned char ThreadContextRetained[0]; +0x0000 34 10 00 00 */ /* unsigned char CStateType[0]; +0x0000 eb 1a 00 00 */ unsigned char Reserved[4]; /* +0x0000 39 10 00 00 */ }; struct _CPC_RUNTIME_STATE { unsigned long long HighestPerformance; /* +0x0000 */ unsigned long long NominalPerformance; /* +0x0008 */ unsigned long long LowestNonlinearPerformance; /* +0x0010 */ unsigned long long LowestPerformance; /* +0x0018 */ unsigned long long SelectedPerformance; /* +0x0020 */ unsigned long NominalFrequency; /* +0x0028 */ unsigned long HighestPercent; /* +0x002c */ unsigned long LowestNonlinearPercent; /* +0x0030 */ unsigned long LowestPercent; /* +0x0034 */ unsigned long CachedPercentFrequency; /* +0x0038 */ unsigned char EnablePresent; /* +0x003c */ unsigned char MinimumPresent; /* +0x003d */ unsigned char MaximumPresent; /* +0x003e */ unsigned char TimeWindowPresent; /* +0x003f */ unsigned char GuaranteedPerformancePresent; /* +0x0040 */ unsigned char PccUsed; /* +0x0041 */ unsigned long long LastNominalCount; /* +0x0048 */ unsigned long long LastDeliveredCount; /* +0x0050 */ unsigned char Cpc[8]; /* +0x0058 21 1a 00 00 */ }; /* struct { unsigned char EvtIoWdmIrpForForwardProgress[8]; +0x0000 90 18 00 00 }; */ /* struct { unsigned char ExaminePolicy[8]; +0x0000 f1 1a 00 00 }; */ struct _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS { unsigned char Policy[8]; /* +0x0000 f3 1a 00 00 */ }; struct PPM_DRIVER_INTERFACE { unsigned long Version; /* +0x0000 */ unsigned long Size; /* +0x0004 */ unsigned long Flags; /* +0x0008 */ unsigned char PdcBiosData[8]; /* +0x0010 f7 1a 00 00 */ unsigned char OscBiosData[8]; /* +0x0018 f9 1a 00 00 */ unsigned short PdcSize; /* +0x0020 */ unsigned short OscSize; /* +0x0022 */ unsigned char DeviceCreate[8]; /* +0x0028 de 1a 00 00 */ unsigned char DeviceStart[8]; /* +0x0030 de 1a 00 00 */ unsigned char DeviceStop[8]; /* +0x0038 de 1a 00 00 */ unsigned char DeviceRemove[8]; /* +0x0040 de 1a 00 00 */ unsigned char ValidatePStates[8]; /* +0x0048 fd 1a 00 00 */ unsigned char SetPStateFFH[8]; /* +0x0050 0a 1a 00 00 */ unsigned char SetTStateFFH[8]; /* +0x0058 0a 1a 00 00 */ unsigned char PStateFeedBack[8]; /* +0x0060 0d 1a 00 00 */ unsigned char GetFFHThrottleState[8]; /* +0x0068 10 1a 00 00 */ unsigned char BoostPolicyHandler[8]; /* +0x0070 bd 10 00 00 */ unsigned char GetFrequencySensitivity[8]; /* +0x0078 a0 12 00 00 */ unsigned long PStateFFHControlRegister; /* +0x0080 */ unsigned long long PStateFFHControlMask; /* +0x0088 */ unsigned long TStateFFHControlRegister; /* +0x0090 */ unsigned long long TStateFFHControlMask; /* +0x0098 */ }; struct ACPI_PCCP { unsigned long InputBufferOffset; /* +0x0000 */ unsigned long OutputBufferOffset; /* +0x0004 */ }; struct ACPI_CST { unsigned long Count; /* +0x0000 */ unsigned char State[20]; /* +0x0004 03 1b 00 00 */ }; struct ACPI_CST_STATE { unsigned char Register[12]; /* +0x0000 01 1a 00 00 */ unsigned char StateType; /* +0x000c */ unsigned short Latency; /* +0x000e */ unsigned long PowerConsumption; /* +0x0010 */ }; struct ACPI_xSD_STATE { unsigned long NumberOfEntries; /* +0x0000 */ unsigned long Revision; /* +0x0004 */ unsigned long DomainNumber; /* +0x0008 */ unsigned long CoordinationType; /* +0x000c */ unsigned long MemberCount; /* +0x0010 */ }; struct ACPI_TSS { unsigned long Count; /* +0x0000 */ unsigned char State[20]; /* +0x0004 0b 1b 00 00 */ }; struct ACPI_TSS_STATE { unsigned long Percentage; /* +0x0000 */ unsigned long Power; /* +0x0004 */ unsigned long Latency; /* +0x0008 */ unsigned long Control; /* +0x000c */ unsigned long Status; /* +0x0010 */ }; struct ACPI_PSS_STATE { unsigned long CoreFrequency; /* +0x0000 */ unsigned long Power; /* +0x0004 */ unsigned long Latency; /* +0x0008 */ unsigned long BmLatency; /* +0x000c */ unsigned long long Control; /* +0x0010 */ unsigned long long Status; /* +0x0018 */ unsigned long long ControlMask; /* +0x0020 */ unsigned long long StatusMask; /* +0x0028 */ }; struct OSC_INPUT_BUFFER { unsigned char UUID[16]; /* +0x0000 9b 10 00 00 */ unsigned long Revision; /* +0x0010 */ unsigned long CapabilitiesCount; /* +0x0014 */ unsigned char Capabilities[8]; /* +0x0018 22 10 00 00 */ }; struct PDC_INPUT_BUFFER { unsigned long Revision; /* +0x0000 */ unsigned long CapabilitiesCount; /* +0x0004 */ unsigned char Capabilities[4]; /* +0x0008 2a 10 00 00 */ }; /* struct { unsigned char CurrentState[4]; +0x0000 d0 15 00 00 unsigned char NewState[4]; +0x0004 d0 15 00 00 }; */ /* struct { unsigned char CurrentState[4]; +0x0000 d0 15 00 00 }; */ /* struct { /* unsigned char EnterState[0]; +0x0000 17 1b 00 00 /* unsigned char PostProcessState[0]; +0x0000 19 1b 00 00 unsigned char LeaveState[8]; +0x0000 17 1b 00 00 }; */ struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA { unsigned char Type[4]; /* +0x0000 87 1a 00 00 */ unsigned char Data[8]; /* +0x0004 1b 1b 00 00 */ }; struct _PCC_SUBSPACE_REGISTRATION { unsigned char PccInterface[112]; /* +0x0000 e0 1a 00 00 */ unsigned char Mutex[8]; /* +0x0070 33 14 00 00 */ unsigned char RuntimeCallback[8]; /* +0x0078 20 1b 00 00 */ unsigned long long RuntimeContext; /* +0x0080 */ }; struct _GDI_TEB_BATCH { unsigned long Offset; /* +0x0000 */ unsigned long long HDC; /* +0x0008 */ unsigned char Buffer[1240]; /* +0x0010 23 1b 00 00 */ }; struct _GENERIC_MAPPING { unsigned long GenericRead; /* +0x0000 */ unsigned long GenericWrite; /* +0x0004 */ unsigned long GenericExecute; /* +0x0008 */ unsigned long GenericAll; /* +0x000c */ }; struct _KSYSTEM_TIME { unsigned long LowPart; /* +0x0000 */ long High1Time; /* +0x0004 */ long High2Time; /* +0x0008 */ }; struct _XSTATE_FEATURE { unsigned long Offset; /* +0x0000 */ unsigned long Size; /* +0x0004 */ }; struct _KDEVICE_QUEUE_ENTRY { unsigned char DeviceListEntry[16]; /* +0x0000 75 10 00 00 */ unsigned long SortKey; /* +0x0010 */ unsigned char Inserted; /* +0x0014 */ }; struct _DEVICE_CAPABILITIES { unsigned short Size; /* +0x0000 */ unsigned short Version; /* +0x0002 */ /* unsigned char DeviceD1[0]; +0x0004 32 10 00 00 */ /* unsigned char DeviceD2[0]; +0x0004 33 10 00 00 */ /* unsigned char LockSupported[0]; +0x0004 34 10 00 00 */ /* unsigned char EjectSupported[0]; +0x0004 35 10 00 00 */ /* unsigned char Removable[0]; +0x0004 36 10 00 00 */ /* unsigned char DockDevice[0]; +0x0004 37 10 00 00 */ /* unsigned char UniqueID[0]; +0x0004 38 10 00 00 */ /* unsigned char SilentInstall[0]; +0x0004 2e 1b 00 00 */ /* unsigned char RawDeviceOK[0]; +0x0004 2f 1b 00 00 */ /* unsigned char SurpriseRemovalOK[0]; +0x0004 30 1b 00 00 */ /* unsigned char WakeFromD0[0]; +0x0004 31 1b 00 00 */ /* unsigned char WakeFromD1[0]; +0x0004 32 1b 00 00 */ /* unsigned char WakeFromD2[0]; +0x0004 33 1b 00 00 */ /* unsigned char WakeFromD3[0]; +0x0004 34 1b 00 00 */ /* unsigned char HardwareDisabled[0]; +0x0004 35 1b 00 00 */ /* unsigned char NonDynamic[0]; +0x0004 36 1b 00 00 */ /* unsigned char WarmEjectSupported[0]; +0x0004 37 1b 00 00 */ /* unsigned char NoDisplayInUI[0]; +0x0004 38 1b 00 00 */ /* unsigned char Reserved1[0]; +0x0004 39 1b 00 00 */ unsigned char Reserved[4]; /* +0x0004 3a 1b 00 00 */ unsigned long Address; /* +0x0008 */ unsigned long UINumber; /* +0x000c */ unsigned char DeviceState[28]; /* +0x0010 7f 15 00 00 */ unsigned char SystemWake[4]; /* +0x002c 80 12 00 00 */ unsigned char DeviceWake[4]; /* +0x0030 cd 12 00 00 */ unsigned long D1Latency; /* +0x0034 */ unsigned long D2Latency; /* +0x0038 */ unsigned long D3Latency; /* +0x003c */ }; enum PS_CREATE_STATE { PsCreateInitialState = 0, PsCreateFailOnFileOpen = 1, PsCreateFailOnSectionCreate = 2, PsCreateFailExeFormat = 3, PsCreateFailMachineMismatch = 4, PsCreateFailExeName = 5, PsCreateSuccess = 6, PsCreateMaximumStates = 7 }; struct _RUNTIME_IDLE_STATES { unsigned long Count; /* +0x0000 */ unsigned long SelectedState; /* +0x0004 */ unsigned long TargetState; /* +0x0008 */ unsigned long long IdleTime; /* +0x0010 */ unsigned long long TotalTime; /* +0x0018 */ unsigned char State[64]; /* +0x0020 40 1b 00 00 */ }; struct _WHEA_ERROR_RECORD_HEADER_VALIDBITS { /* unsigned char PlatformId[0]; +0x0000 32 10 00 00 */ /* unsigned char Timestamp[0]; +0x0000 33 10 00 00 */ /* unsigned char PartitionId[0]; +0x0000 34 10 00 00 */ /* unsigned char Reserved[0]; +0x0000 b8 1a 00 00 */ unsigned long AsULONG; /* +0x0000 */ }; struct _CM_PARTIAL_RESOURCE_LIST { unsigned short Version; /* +0x0000 */ unsigned short Revision; /* +0x0002 */ unsigned long Count; /* +0x0004 */ unsigned char PartialDescriptors[20]; /* +0x0008 45 1b 00 00 */ }; struct _SECTION_OBJECT_POINTERS { void *DataSectionObject; /* +0x0000 */ void *SharedCacheMap; /* +0x0008 */ void *ImageSectionObject; /* +0x0010 */ }; struct _LUID_AND_ATTRIBUTES { unsigned char Luid[8]; /* +0x0000 ed 10 00 00 */ unsigned long Attributes; /* +0x0008 */ }; struct _KDEVICE_QUEUE { short Type; /* +0x0000 */ short Size; /* +0x0002 */ unsigned char DeviceListHead[16]; /* +0x0008 75 10 00 00 */ unsigned long long Lock; /* +0x0018 */ unsigned char Busy; /* +0x0020 */ /* unsigned char Reserved[0]; +0x0020 4c 1b 00 00 */ unsigned char Hint[8]; /* +0x0020 4d 1b 00 00 */ }; struct _SYSTEM_POWER_STATE_CONTEXT { /* unsigned char Reserved1[0]; +0x0000 50 1b 00 00 */ /* unsigned char TargetSystemState[0]; +0x0000 51 1b 00 00 */ /* unsigned char EffectiveSystemState[0]; +0x0000 52 1b 00 00 */ /* unsigned char CurrentSystemState[0]; +0x0000 53 1b 00 00 */ /* unsigned char IgnoreHibernationPath[0]; +0x0000 54 1b 00 00 */ /* unsigned char PseudoTransition[0]; +0x0000 55 1b 00 00 */ /* unsigned char Reserved2[0]; +0x0000 56 1b 00 00 */ unsigned long ContextAsUlong; /* +0x0000 */ }; struct _GEN_ADDR { unsigned char AddressSpaceID; /* +0x0000 */ unsigned char BitWidth; /* +0x0001 */ unsigned char BitOffset; /* +0x0002 */ unsigned char AccessSize; /* +0x0003 */ unsigned char Address[8]; /* +0x0004 2b 10 00 00 */ }; enum _OB_OPEN_REASON { ObCreateHandle = 0, ObOpenHandle = 1, ObDuplicateHandle = 2, ObInheritHandle = 3, ObMaxOpenReason = 4 }; enum _SECURITY_OPERATION_CODE { SetSecurityDescriptor = 0, QuerySecurityDescriptor = 1, DeleteSecurityDescriptor = 2, AssignSecurityDescriptor = 3 }; struct _OBJECT_TYPE_INITIALIZER { unsigned short Length; /* +0x0000 */ unsigned char ObjectTypeFlags; /* +0x0002 */ /* unsigned char CaseInsensitive[0]; +0x0002 00 11 00 00 */ /* unsigned char UnnamedObjectsOnly[0]; +0x0002 3c 1a 00 00 */ /* unsigned char UseDefaultObject[0]; +0x0002 3d 1a 00 00 */ /* unsigned char SecurityRequired[0]; +0x0002 3e 1a 00 00 */ /* unsigned char MaintainHandleCount[0]; +0x0002 a6 1a 00 00 */ /* unsigned char MaintainTypeList[0]; +0x0002 5b 1b 00 00 */ /* unsigned char SupportsObjectCallbacks[0]; +0x0002 41 1a 00 00 */ unsigned char CacheAligned[2]; /* +0x0002 44 1a 00 00 */ unsigned long ObjectTypeCode; /* +0x0004 */ unsigned long InvalidAttributes; /* +0x0008 */ unsigned char GenericMapping[16]; /* +0x000c 5b 13 00 00 */ unsigned long ValidAccessMask; /* +0x001c */ unsigned long RetainAccess; /* +0x0020 */ unsigned char PoolType[4]; /* +0x0024 8c 11 00 00 */ unsigned long DefaultPagedPoolCharge; /* +0x0028 */ unsigned long DefaultNonPagedPoolCharge; /* +0x002c */ unsigned char DumpProcedure[8]; /* +0x0030 60 1b 00 00 */ unsigned char OpenProcedure[8]; /* +0x0038 65 1b 00 00 */ unsigned char CloseProcedure[8]; /* +0x0040 68 1b 00 00 */ unsigned char DeleteProcedure[8]; /* +0x0048 a6 11 00 00 */ unsigned char ParseProcedure[8]; /* +0x0050 6d 1b 00 00 */ unsigned char SecurityProcedure[8]; /* +0x0058 73 1b 00 00 */ unsigned char QueryNameProcedure[8]; /* +0x0060 78 1b 00 00 */ unsigned char OkayToCloseProcedure[8]; /* +0x0068 7b 1b 00 00 */ unsigned long WaitObjectFlagMask; /* +0x0070 */ unsigned short WaitObjectFlagOffset; /* +0x0074 */ unsigned short WaitObjectPointerOffset; /* +0x0076 */ }; struct _KPROCESSOR_STATE { unsigned char SpecialRegisters[224]; /* +0x0000 7e 1b 00 00 */ unsigned char ContextFrame[1232]; /* +0x00e0 7f 1b 00 00 */ }; struct _SCATTER_GATHER_LIST { unsigned long NumberOfElements; /* +0x0000 */ unsigned long long Reserved; /* +0x0008 */ /* unsigned char Elements[0]; +0x0010 83 1b 00 00 */ }; enum _WDF_RETRIEVE_CHILD_FLAGS { WdfRetrieveUnspecified = 0, WdfRetrievePresentChildren = 1, WdfRetrieveMissingChildren = 2, WdfRetrievePendingChildren = 4, WdfRetrieveAddedChildren = 5, WdfRetrieveAllChildren = 7 }; struct _DMA_TRANSFER_INFO_V1 { unsigned long MapRegisterCount; /* +0x0000 */ unsigned long ScatterGatherElementCount; /* +0x0004 */ unsigned long ScatterGatherListSize; /* +0x0008 */ }; struct _WHEA_TIMESTAMP { /* unsigned char Seconds[0]; +0x0000 8a 1b 00 00 */ /* unsigned char Minutes[0]; +0x0000 8b 1b 00 00 */ /* unsigned char Hours[0]; +0x0000 8c 1b 00 00 */ /* unsigned char Precise[0]; +0x0000 8d 1b 00 00 */ /* unsigned char Reserved[0]; +0x0000 8e 1b 00 00 */ /* unsigned char Day[0]; +0x0000 8f 1b 00 00 */ /* unsigned char Month[0]; +0x0000 90 1b 00 00 */ /* unsigned char Year[0]; +0x0000 91 1b 00 00 */ /* unsigned char Century[0]; +0x0000 92 1b 00 00 */ unsigned char AsLARGE_INTEGER[8]; /* +0x0000 2b 10 00 00 */ }; struct _VPB { short Type; /* +0x0000 */ short Size; /* +0x0002 */ unsigned short Flags; /* +0x0004 */ unsigned short VolumeLabelLength; /* +0x0006 */ unsigned char DeviceObject[8]; /* +0x0008 1b 12 00 00 */ unsigned char RealDevice[8]; /* +0x0010 1b 12 00 00 */ unsigned long SerialNumber; /* +0x0018 */ unsigned long ReferenceCount; /* +0x001c */ unsigned char VolumeLabel[64]; /* +0x0020 95 1b 00 00 */ }; enum _SECURITY_IMPERSONATION_LEVEL { SecurityAnonymous = 0, SecurityIdentification = 1, SecurityImpersonation = 2, SecurityDelegation = 3 }; struct _SECURITY_SUBJECT_CONTEXT { void *ClientToken; /* +0x0000 */ unsigned char ImpersonationLevel[8]; /* +0x0008 99 1b 00 00 */ void *PrimaryToken; /* +0x0010 */ void *ProcessAuditId; /* +0x0018 */ }; enum _MEMORY_CACHING_TYPE_ORIG { MmFrameBufferCached = 2 }; enum _EXCEPTION_DISPOSITION { ExceptionContinueExecution = 0, ExceptionContinueSearch = 1, ExceptionNestedException = 2, ExceptionCollidedUnwind = 3 }; struct _EXCEPTION_REGISTRATION_RECORD { unsigned char Next[8]; /* +0x0000 6a 1a 00 00 */ unsigned char Handler[8]; /* +0x0008 a5 1b 00 00 */ }; struct _PO_FX_COMPONENT { unsigned char Id[16]; /* +0x0000 9b 10 00 00 */ unsigned long IdleStateCount; /* +0x0010 */ unsigned long DeepestWakeableIdleState; /* +0x0014 */ unsigned char IdleStates[8]; /* +0x0018 a9 1b 00 00 */ }; struct _POWER_STATE { /* unsigned char SystemState[0]; +0x0000 80 12 00 00 */ unsigned char DeviceState[4]; /* +0x0000 cd 12 00 00 */ }; struct _RUNTIME_IDLE_STATE { unsigned char CstState[8]; /* +0x0000 ae 1b 00 00 */ unsigned char IdleDomain[8]; /* +0x0008 b0 1b 00 00 */ unsigned char Check[8]; /* +0x0010 b5 1b 00 00 */ unsigned char Handler[8]; /* +0x0018 b7 1b 00 00 */ unsigned char Context[24]; /* +0x0020 b1 1b 00 00 */ unsigned char IdleStateEntry[8]; /* +0x0038 b8 1b 00 00 */ }; struct _CONTEXT { unsigned long long P1Home; /* +0x0000 */ unsigned long long P2Home; /* +0x0008 */ unsigned long long P3Home; /* +0x0010 */ unsigned long long P4Home; /* +0x0018 */ unsigned long long P5Home; /* +0x0020 */ unsigned long long P6Home; /* +0x0028 */ unsigned long ContextFlags; /* +0x0030 */ unsigned long MxCsr; /* +0x0034 */ unsigned short SegCs; /* +0x0038 */ unsigned short SegDs; /* +0x003a */ unsigned short SegEs; /* +0x003c */ unsigned short SegFs; /* +0x003e */ unsigned short SegGs; /* +0x0040 */ unsigned short SegSs; /* +0x0042 */ unsigned long EFlags; /* +0x0044 */ unsigned long long Dr0; /* +0x0048 */ unsigned long long Dr1; /* +0x0050 */ unsigned long long Dr2; /* +0x0058 */ unsigned long long Dr3; /* +0x0060 */ unsigned long long Dr6; /* +0x0068 */ unsigned long long Dr7; /* +0x0070 */ unsigned long long Rax; /* +0x0078 */ unsigned long long Rcx; /* +0x0080 */ unsigned long long Rdx; /* +0x0088 */ unsigned long long Rbx; /* +0x0090 */ unsigned long long Rsp; /* +0x0098 */ unsigned long long Rbp; /* +0x00a0 */ unsigned long long Rsi; /* +0x00a8 */ unsigned long long Rdi; /* +0x00b0 */ unsigned long long R8; /* +0x00b8 */ unsigned long long R9; /* +0x00c0 */ unsigned long long R10; /* +0x00c8 */ unsigned long long R11; /* +0x00d0 */ unsigned long long R12; /* +0x00d8 */ unsigned long long R13; /* +0x00e0 */ unsigned long long R14; /* +0x00e8 */ unsigned long long R15; /* +0x00f0 */ unsigned long long Rip; /* +0x00f8 */ /* unsigned char FltSave[0]; +0x0100 bb 1b 00 00 */ unsigned char Header[32]; /* +0x0100 bd 1b 00 00 */ unsigned char Legacy[128]; /* +0x0120 be 1b 00 00 */ unsigned char Xmm0[16]; /* +0x01a0 bc 1b 00 00 */ unsigned char Xmm1[16]; /* +0x01b0 bc 1b 00 00 */ unsigned char Xmm2[16]; /* +0x01c0 bc 1b 00 00 */ unsigned char Xmm3[16]; /* +0x01d0 bc 1b 00 00 */ unsigned char Xmm4[16]; /* +0x01e0 bc 1b 00 00 */ unsigned char Xmm5[16]; /* +0x01f0 bc 1b 00 00 */ unsigned char Xmm6[16]; /* +0x0200 bc 1b 00 00 */ unsigned char Xmm7[16]; /* +0x0210 bc 1b 00 00 */ unsigned char Xmm8[16]; /* +0x0220 bc 1b 00 00 */ unsigned char Xmm9[16]; /* +0x0230 bc 1b 00 00 */ unsigned char Xmm10[16]; /* +0x0240 bc 1b 00 00 */ unsigned char Xmm11[16]; /* +0x0250 bc 1b 00 00 */ unsigned char Xmm12[16]; /* +0x0260 bc 1b 00 00 */ unsigned char Xmm13[16]; /* +0x0270 bc 1b 00 00 */ unsigned char Xmm14[16]; /* +0x0280 bc 1b 00 00 */ unsigned char Xmm15[112]; /* +0x0290 bc 1b 00 00 */ unsigned char VectorRegister[416]; /* +0x0300 bf 1b 00 00 */ unsigned long long VectorControl; /* +0x04a0 */ unsigned long long DebugControl; /* +0x04a8 */ unsigned long long LastBranchToRip; /* +0x04b0 */ unsigned long long LastBranchFromRip; /* +0x04b8 */ unsigned long long LastExceptionToRip; /* +0x04c0 */ unsigned long long LastExceptionFromRip; /* +0x04c8 */ }; struct _IDLE_DOMAIN_ENTRY { unsigned char Link[16]; /* +0x0000 75 10 00 00 */ unsigned char IdleStateHead[16]; /* +0x0010 75 10 00 00 */ unsigned long Count; /* +0x0020 */ unsigned long Id; /* +0x0024 */ unsigned long Coordination; /* +0x0028 */ unsigned long Total; /* +0x002c */ unsigned char Mask[72]; /* +0x0030 da 1a 00 00 */ }; struct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS { /* unsigned char FRUId[0]; +0x0000 00 11 00 00 */ /* unsigned char FRUText[0]; +0x0000 3c 1a 00 00 */ /* unsigned char Reserved[0]; +0x0000 c4 1b 00 00 */ unsigned char AsUCHAR; /* +0x0000 */ }; struct _IDLE_STATE_ENTRY { unsigned char CstState[8]; /* +0x0000 ae 1b 00 00 */ unsigned char IdleDomain[8]; /* +0x0008 b0 1b 00 00 */ unsigned char Link[16]; /* +0x0010 75 10 00 00 */ }; struct _PERF_DOMAIN_ENTRY { unsigned char Link[16]; /* +0x0000 75 10 00 00 */ unsigned char DevExtHead[16]; /* +0x0010 75 10 00 00 */ unsigned long Count; /* +0x0020 */ unsigned long Id; /* +0x0024 */ unsigned long Coordination; /* +0x0028 */ unsigned long Total; /* +0x002c */ }; struct _IO_RESOURCE_LIST { unsigned short Version; /* +0x0000 */ unsigned short Revision; /* +0x0002 */ unsigned long Count; /* +0x0004 */ unsigned char Descriptors[32]; /* +0x0008 cb 1b 00 00 */ }; struct _PO_FX_COMPONENT_IDLE_STATE { unsigned long long TransitionLatency; /* +0x0000 */ unsigned long long ResidencyRequirement; /* +0x0008 */ unsigned long NominalPower; /* +0x0010 */ }; struct _WHEA_ERROR_RECORD_HEADER_FLAGS { /* unsigned char Recovered[0]; +0x0000 32 10 00 00 */ /* unsigned char PreviousError[0]; +0x0000 33 10 00 00 */ /* unsigned char Simulated[0]; +0x0000 34 10 00 00 */ /* unsigned char Reserved[0]; +0x0000 b8 1a 00 00 */ unsigned long AsULONG; /* +0x0000 */ }; struct _KTSS64 { unsigned long Reserved0; /* +0x0000 */ unsigned long long Rsp0; /* +0x0004 */ unsigned long long Rsp1; /* +0x000c */ unsigned long long Rsp2; /* +0x0014 */ unsigned char Ist[64]; /* +0x001c 4a 11 00 00 */ unsigned long long Reserved1; /* +0x005c */ unsigned short Reserved2; /* +0x0064 */ unsigned short IoMapBase; /* +0x0066 */ }; enum _WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS { IdleTimeoutDefaultConstant = 0 }; enum _WDF_DEVICE_STATE_FLAGS { = 32770 }; struct _WAIT_CONTEXT_BLOCK { /* unsigned char WaitQueueEntry[0]; +0x0000 1f 12 00 00 */ unsigned char DmaWaitEntry[16]; /* +0x0000 75 10 00 00 */ unsigned long NumberOfChannels; /* +0x0010 */ /* unsigned char SyncCallback[0]; +0x0014 32 10 00 00 */ /* unsigned char DmaContext[0]; +0x0014 33 10 00 00 */ unsigned char Reserved[4]; /* +0x0014 60 10 00 00 */ unsigned char DeviceRoutine[8]; /* +0x0018 f4 12 00 00 */ void *DeviceContext; /* +0x0020 */ unsigned long NumberOfMapRegisters; /* +0x0028 */ void *DeviceObject; /* +0x0030 */ void *CurrentIrp; /* +0x0038 */ unsigned char BufferChainingDpc[8]; /* +0x0040 a2 12 00 00 */ }; struct _RTL_DYNAMIC_HASH_TABLE_ENTRY { unsigned char Linkage[16]; /* +0x0000 75 10 00 00 */ unsigned long long Signature; /* +0x0010 */ }; enum _WDFFUNCENUM { WdfChildListCreateTableIndex = 0, WdfChildListGetDeviceTableIndex = 1, WdfChildListRetrievePdoTableIndex = 2, WdfChildListRetrieveAddressDescriptionTableIndex = 3, WdfChildListBeginScanTableIndex = 4, WdfChildListEndScanTableIndex = 5, WdfChildListBeginIterationTableIndex = 6, WdfChildListRetrieveNextDeviceTableIndex = 7, WdfChildListEndIterationTableIndex = 8, WdfChildListAddOrUpdateChildDescriptionAsPresentTableIndex = 9, WdfChildListUpdateChildDescriptionAsMissingTableIndex = 10, WdfChildListUpdateAllChildDescriptionsAsPresentTableIndex = 11, WdfChildListRequestChildEjectTableIndex = 12, WdfCollectionCreateTableIndex = 13, WdfCollectionGetCountTableIndex = 14, WdfCollectionAddTableIndex = 15, WdfCollectionRemoveTableIndex = 16, WdfCollectionRemoveItemTableIndex = 17, WdfCollectionGetItemTableIndex = 18, WdfCollectionGetFirstItemTableIndex = 19, WdfCollectionGetLastItemTableIndex = 20, WdfCommonBufferCreateTableIndex = 21, WdfCommonBufferGetAlignedVirtualAddressTableIndex = 22, WdfCommonBufferGetAlignedLogicalAddressTableIndex = 23, WdfCommonBufferGetLengthTableIndex = 24, WdfControlDeviceInitAllocateTableIndex = 25, WdfControlDeviceInitSetShutdownNotificationTableIndex = 26, WdfControlFinishInitializingTableIndex = 27, WdfDeviceGetDeviceStateTableIndex = 28, WdfDeviceSetDeviceStateTableIndex = 29, WdfWdmDeviceGetWdfDeviceHandleTableIndex = 30, WdfDeviceWdmGetDeviceObjectTableIndex = 31, WdfDeviceWdmGetAttachedDeviceTableIndex = 32, WdfDeviceWdmGetPhysicalDeviceTableIndex = 33, WdfDeviceWdmDispatchPreprocessedIrpTableIndex = 34, WdfDeviceAddDependentUsageDeviceObjectTableIndex = 35, WdfDeviceAddRemovalRelationsPhysicalDeviceTableIndex = 36, WdfDeviceRemoveRemovalRelationsPhysicalDeviceTableIndex = 37, WdfDeviceClearRemovalRelationsDevicesTableIndex = 38, WdfDeviceGetDriverTableIndex = 39, WdfDeviceRetrieveDeviceNameTableIndex = 40, WdfDeviceAssignMofResourceNameTableIndex = 41, WdfDeviceGetIoTargetTableIndex = 42, WdfDeviceGetDevicePnpStateTableIndex = 43, WdfDeviceGetDevicePowerStateTableIndex = 44, WdfDeviceGetDevicePowerPolicyStateTableIndex = 45, WdfDeviceAssignS0IdleSettingsTableIndex = 46, WdfDeviceAssignSxWakeSettingsTableIndex = 47, WdfDeviceOpenRegistryKeyTableIndex = 48, WdfDeviceSetSpecialFileSupportTableIndex = 49, WdfDeviceSetCharacteristicsTableIndex = 50, WdfDeviceGetCharacteristicsTableIndex = 51, WdfDeviceGetAlignmentRequirementTableIndex = 52, WdfDeviceSetAlignmentRequirementTableIndex = 53, WdfDeviceInitFreeTableIndex = 54, WdfDeviceInitSetPnpPowerEventCallbacksTableIndex = 55, WdfDeviceInitSetPowerPolicyEventCallbacksTableIndex = 56, WdfDeviceInitSetPowerPolicyOwnershipTableIndex = 57, WdfDeviceInitRegisterPnpStateChangeCallbackTableIndex = 58, WdfDeviceInitRegisterPowerStateChangeCallbackTableIndex = 59, WdfDeviceInitRegisterPowerPolicyStateChangeCallbackTableIndex = 60, WdfDeviceInitSetIoTypeTableIndex = 61, WdfDeviceInitSetExclusiveTableIndex = 62, WdfDeviceInitSetPowerNotPageableTableIndex = 63, WdfDeviceInitSetPowerPageableTableIndex = 64, WdfDeviceInitSetPowerInrushTableIndex = 65, WdfDeviceInitSetDeviceTypeTableIndex = 66, WdfDeviceInitAssignNameTableIndex = 67, WdfDeviceInitAssignSDDLStringTableIndex = 68, WdfDeviceInitSetDeviceClassTableIndex = 69, WdfDeviceInitSetCharacteristicsTableIndex = 70, WdfDeviceInitSetFileObjectConfigTableIndex = 71, WdfDeviceInitSetRequestAttributesTableIndex = 72, WdfDeviceInitAssignWdmIrpPreprocessCallbackTableIndex = 73, WdfDeviceInitSetIoInCallerContextCallbackTableIndex = 74, WdfDeviceCreateTableIndex = 75, WdfDeviceSetStaticStopRemoveTableIndex = 76, WdfDeviceCreateDeviceInterfaceTableIndex = 77, WdfDeviceSetDeviceInterfaceStateTableIndex = 78, WdfDeviceRetrieveDeviceInterfaceStringTableIndex = 79, WdfDeviceCreateSymbolicLinkTableIndex = 80, WdfDeviceQueryPropertyTableIndex = 81, WdfDeviceAllocAndQueryPropertyTableIndex = 82, WdfDeviceSetPnpCapabilitiesTableIndex = 83, WdfDeviceSetPowerCapabilitiesTableIndex = 84, WdfDeviceSetBusInformationForChildrenTableIndex = 85, WdfDeviceIndicateWakeStatusTableIndex = 86, WdfDeviceSetFailedTableIndex = 87, WdfDeviceStopIdleTableIndex = 88, WdfDeviceResumeIdleTableIndex = 89, WdfDeviceGetFileObjectTableIndex = 90, WdfDeviceEnqueueRequestTableIndex = 91, WdfDeviceGetDefaultQueueTableIndex = 92, WdfDeviceConfigureRequestDispatchingTableIndex = 93, WdfDmaEnablerCreateTableIndex = 94, WdfDmaEnablerGetMaximumLengthTableIndex = 95, WdfDmaEnablerGetMaximumScatterGatherElementsTableIndex = 96, WdfDmaEnablerSetMaximumScatterGatherElementsTableIndex = 97, WdfDmaTransactionCreateTableIndex = 98, WdfDmaTransactionInitializeTableIndex = 99, WdfDmaTransactionInitializeUsingRequestTableIndex = 100, WdfDmaTransactionExecuteTableIndex = 101, WdfDmaTransactionReleaseTableIndex = 102, WdfDmaTransactionDmaCompletedTableIndex = 103, WdfDmaTransactionDmaCompletedWithLengthTableIndex = 104, WdfDmaTransactionDmaCompletedFinalTableIndex = 105, WdfDmaTransactionGetBytesTransferredTableIndex = 106, WdfDmaTransactionSetMaximumLengthTableIndex = 107, WdfDmaTransactionGetRequestTableIndex = 108, WdfDmaTransactionGetCurrentDmaTransferLengthTableIndex = 109, WdfDmaTransactionGetDeviceTableIndex = 110, WdfDpcCreateTableIndex = 111, WdfDpcEnqueueTableIndex = 112, WdfDpcCancelTableIndex = 113, WdfDpcGetParentObjectTableIndex = 114, WdfDpcWdmGetDpcTableIndex = 115, WdfDriverCreateTableIndex = 116, WdfDriverGetRegistryPathTableIndex = 117, WdfDriverWdmGetDriverObjectTableIndex = 118, WdfDriverOpenParametersRegistryKeyTableIndex = 119, WdfWdmDriverGetWdfDriverHandleTableIndex = 120, WdfDriverRegisterTraceInfoTableIndex = 121, WdfDriverRetrieveVersionStringTableIndex = 122, WdfDriverIsVersionAvailableTableIndex = 123, WdfFdoInitWdmGetPhysicalDeviceTableIndex = 124, WdfFdoInitOpenRegistryKeyTableIndex = 125, WdfFdoInitQueryPropertyTableIndex = 126, WdfFdoInitAllocAndQueryPropertyTableIndex = 127, WdfFdoInitSetEventCallbacksTableIndex = 128, WdfFdoInitSetFilterTableIndex = 129, WdfFdoInitSetDefaultChildListConfigTableIndex = 130, WdfFdoQueryForInterfaceTableIndex = 131, WdfFdoGetDefaultChildListTableIndex = 132, WdfFdoAddStaticChildTableIndex = 133, WdfFdoLockStaticChildListForIterationTableIndex = 134, WdfFdoRetrieveNextStaticChildTableIndex = 135, WdfFdoUnlockStaticChildListFromIterationTableIndex = 136, WdfFileObjectGetFileNameTableIndex = 137, WdfFileObjectGetFlagsTableIndex = 138, WdfFileObjectGetDeviceTableIndex = 139, WdfFileObjectWdmGetFileObjectTableIndex = 140, WdfInterruptCreateTableIndex = 141, WdfInterruptQueueDpcForIsrTableIndex = 142, WdfInterruptSynchronizeTableIndex = 143, WdfInterruptAcquireLockTableIndex = 144, WdfInterruptReleaseLockTableIndex = 145, WdfInterruptEnableTableIndex = 146, WdfInterruptDisableTableIndex = 147, WdfInterruptWdmGetInterruptTableIndex = 148, WdfInterruptGetInfoTableIndex = 149, WdfInterruptSetPolicyTableIndex = 150, WdfInterruptGetDeviceTableIndex = 151, WdfIoQueueCreateTableIndex = 152, WdfIoQueueGetStateTableIndex = 153, WdfIoQueueStartTableIndex = 154, WdfIoQueueStopTableIndex = 155, WdfIoQueueStopSynchronouslyTableIndex = 156, WdfIoQueueGetDeviceTableIndex = 157, WdfIoQueueRetrieveNextRequestTableIndex = 158, WdfIoQueueRetrieveRequestByFileObjectTableIndex = 159, WdfIoQueueFindRequestTableIndex = 160, WdfIoQueueRetrieveFoundRequestTableIndex = 161, WdfIoQueueDrainSynchronouslyTableIndex = 162, WdfIoQueueDrainTableIndex = 163, WdfIoQueuePurgeSynchronouslyTableIndex = 164, WdfIoQueuePurgeTableIndex = 165, WdfIoQueueReadyNotifyTableIndex = 166, WdfIoTargetCreateTableIndex = 167, WdfIoTargetOpenTableIndex = 168, WdfIoTargetCloseForQueryRemoveTableIndex = 169, WdfIoTargetCloseTableIndex = 170, WdfIoTargetStartTableIndex = 171, WdfIoTargetStopTableIndex = 172, WdfIoTargetGetStateTableIndex = 173, WdfIoTargetGetDeviceTableIndex = 174, WdfIoTargetQueryTargetPropertyTableIndex = 175, WdfIoTargetAllocAndQueryTargetPropertyTableIndex = 176, WdfIoTargetQueryForInterfaceTableIndex = 177, WdfIoTargetWdmGetTargetDeviceObjectTableIndex = 178, WdfIoTargetWdmGetTargetPhysicalDeviceTableIndex = 179, WdfIoTargetWdmGetTargetFileObjectTableIndex = 180, WdfIoTargetWdmGetTargetFileHandleTableIndex = 181, WdfIoTargetSendReadSynchronouslyTableIndex = 182, WdfIoTargetFormatRequestForReadTableIndex = 183, WdfIoTargetSendWriteSynchronouslyTableIndex = 184, WdfIoTargetFormatRequestForWriteTableIndex = 185, WdfIoTargetSendIoctlSynchronouslyTableIndex = 186, WdfIoTargetFormatRequestForIoctlTableIndex = 187, WdfIoTargetSendInternalIoctlSynchronouslyTableIndex = 188, WdfIoTargetFormatRequestForInternalIoctlTableIndex = 189, WdfIoTargetSendInternalIoctlOthersSynchronouslyTableIndex = 190, WdfIoTargetFormatRequestForInternalIoctlOthersTableIndex = 191, WdfMemoryCreateTableIndex = 192, WdfMemoryCreatePreallocatedTableIndex = 193, WdfMemoryGetBufferTableIndex = 194, WdfMemoryAssignBufferTableIndex = 195, WdfMemoryCopyToBufferTableIndex = 196, WdfMemoryCopyFromBufferTableIndex = 197, WdfLookasideListCreateTableIndex = 198, WdfMemoryCreateFromLookasideTableIndex = 199, WdfDeviceMiniportCreateTableIndex = 200, WdfDriverMiniportUnloadTableIndex = 201, WdfObjectGetTypedContextWorkerTableIndex = 202, WdfObjectAllocateContextTableIndex = 203, WdfObjectContextGetObjectTableIndex = 204, WdfObjectReferenceActualTableIndex = 205, WdfObjectDereferenceActualTableIndex = 206, WdfObjectCreateTableIndex = 207, WdfObjectDeleteTableIndex = 208, WdfObjectQueryTableIndex = 209, WdfPdoInitAllocateTableIndex = 210, WdfPdoInitSetEventCallbacksTableIndex = 211, WdfPdoInitAssignDeviceIDTableIndex = 212, WdfPdoInitAssignInstanceIDTableIndex = 213, WdfPdoInitAddHardwareIDTableIndex = 214, WdfPdoInitAddCompatibleIDTableIndex = 215, WdfPdoInitAddDeviceTextTableIndex = 216, WdfPdoInitSetDefaultLocaleTableIndex = 217, WdfPdoInitAssignRawDeviceTableIndex = 218, WdfPdoMarkMissingTableIndex = 219, WdfPdoRequestEjectTableIndex = 220, WdfPdoGetParentTableIndex = 221, WdfPdoRetrieveIdentificationDescriptionTableIndex = 222, WdfPdoRetrieveAddressDescriptionTableIndex = 223, WdfPdoUpdateAddressDescriptionTableIndex = 224, WdfPdoAddEjectionRelationsPhysicalDeviceTableIndex = 225, WdfPdoRemoveEjectionRelationsPhysicalDeviceTableIndex = 226, WdfPdoClearEjectionRelationsDevicesTableIndex = 227, WdfDeviceAddQueryInterfaceTableIndex = 228, WdfRegistryOpenKeyTableIndex = 229, WdfRegistryCreateKeyTableIndex = 230, WdfRegistryCloseTableIndex = 231, WdfRegistryWdmGetHandleTableIndex = 232, WdfRegistryRemoveKeyTableIndex = 233, WdfRegistryRemoveValueTableIndex = 234, WdfRegistryQueryValueTableIndex = 235, WdfRegistryQueryMemoryTableIndex = 236, WdfRegistryQueryMultiStringTableIndex = 237, WdfRegistryQueryUnicodeStringTableIndex = 238, WdfRegistryQueryStringTableIndex = 239, WdfRegistryQueryULongTableIndex = 240, WdfRegistryAssignValueTableIndex = 241, WdfRegistryAssignMemoryTableIndex = 242, WdfRegistryAssignMultiStringTableIndex = 243, WdfRegistryAssignUnicodeStringTableIndex = 244, WdfRegistryAssignStringTableIndex = 245, WdfRegistryAssignULongTableIndex = 246, WdfRequestCreateTableIndex = 247, WdfRequestCreateFromIrpTableIndex = 248, WdfRequestReuseTableIndex = 249, WdfRequestChangeTargetTableIndex = 250, WdfRequestFormatRequestUsingCurrentTypeTableIndex = 251, WdfRequestWdmFormatUsingStackLocationTableIndex = 252, WdfRequestSendTableIndex = 253, WdfRequestGetStatusTableIndex = 254, WdfRequestMarkCancelableTableIndex = 255, WdfRequestUnmarkCancelableTableIndex = 256, WdfRequestIsCanceledTableIndex = 257, WdfRequestCancelSentRequestTableIndex = 258, WdfRequestIsFrom32BitProcessTableIndex = 259, WdfRequestSetCompletionRoutineTableIndex = 260, WdfRequestGetCompletionParamsTableIndex = 261, WdfRequestAllocateTimerTableIndex = 262, WdfRequestCompleteTableIndex = 263, WdfRequestCompleteWithPriorityBoostTableIndex = 264, WdfRequestCompleteWithInformationTableIndex = 265, WdfRequestGetParametersTableIndex = 266, WdfRequestRetrieveInputMemoryTableIndex = 267, WdfRequestRetrieveOutputMemoryTableIndex = 268, WdfRequestRetrieveInputBufferTableIndex = 269, WdfRequestRetrieveOutputBufferTableIndex = 270, WdfRequestRetrieveInputWdmMdlTableIndex = 271, WdfRequestRetrieveOutputWdmMdlTableIndex = 272, WdfRequestRetrieveUnsafeUserInputBufferTableIndex = 273, WdfRequestRetrieveUnsafeUserOutputBufferTableIndex = 274, WdfRequestSetInformationTableIndex = 275, WdfRequestGetInformationTableIndex = 276, WdfRequestGetFileObjectTableIndex = 277, WdfRequestProbeAndLockUserBufferForReadTableIndex = 278, WdfRequestProbeAndLockUserBufferForWriteTableIndex = 279, WdfRequestGetRequestorModeTableIndex = 280, WdfRequestForwardToIoQueueTableIndex = 281, WdfRequestGetIoQueueTableIndex = 282, WdfRequestRequeueTableIndex = 283, WdfRequestStopAcknowledgeTableIndex = 284, WdfRequestWdmGetIrpTableIndex = 285, WdfIoResourceRequirementsListSetSlotNumberTableIndex = 286, WdfIoResourceRequirementsListSetInterfaceTypeTableIndex = 287, WdfIoResourceRequirementsListAppendIoResListTableIndex = 288, WdfIoResourceRequirementsListInsertIoResListTableIndex = 289, WdfIoResourceRequirementsListGetCountTableIndex = 290, WdfIoResourceRequirementsListGetIoResListTableIndex = 291, WdfIoResourceRequirementsListRemoveTableIndex = 292, WdfIoResourceRequirementsListRemoveByIoResListTableIndex = 293, WdfIoResourceListCreateTableIndex = 294, WdfIoResourceListAppendDescriptorTableIndex = 295, WdfIoResourceListInsertDescriptorTableIndex = 296, WdfIoResourceListUpdateDescriptorTableIndex = 297, WdfIoResourceListGetCountTableIndex = 298, WdfIoResourceListGetDescriptorTableIndex = 299, WdfIoResourceListRemoveTableIndex = 300, WdfIoResourceListRemoveByDescriptorTableIndex = 301, WdfCmResourceListAppendDescriptorTableIndex = 302, WdfCmResourceListInsertDescriptorTableIndex = 303, WdfCmResourceListGetCountTableIndex = 304, WdfCmResourceListGetDescriptorTableIndex = 305, WdfCmResourceListRemoveTableIndex = 306, WdfCmResourceListRemoveByDescriptorTableIndex = 307, WdfStringCreateTableIndex = 308, WdfStringGetUnicodeStringTableIndex = 309, WdfObjectAcquireLockTableIndex = 310, WdfObjectReleaseLockTableIndex = 311, WdfWaitLockCreateTableIndex = 312, WdfWaitLockAcquireTableIndex = 313, WdfWaitLockReleaseTableIndex = 314, WdfSpinLockCreateTableIndex = 315, WdfSpinLockAcquireTableIndex = 316, WdfSpinLockReleaseTableIndex = 317, WdfTimerCreateTableIndex = 318, WdfTimerStartTableIndex = 319, WdfTimerStopTableIndex = 320, WdfTimerGetParentObjectTableIndex = 321, WdfUsbTargetDeviceCreateTableIndex = 322, WdfUsbTargetDeviceRetrieveInformationTableIndex = 323, WdfUsbTargetDeviceGetDeviceDescriptorTableIndex = 324, WdfUsbTargetDeviceRetrieveConfigDescriptorTableIndex = 325, WdfUsbTargetDeviceQueryStringTableIndex = 326, WdfUsbTargetDeviceAllocAndQueryStringTableIndex = 327, WdfUsbTargetDeviceFormatRequestForStringTableIndex = 328, WdfUsbTargetDeviceGetNumInterfacesTableIndex = 329, WdfUsbTargetDeviceSelectConfigTableIndex = 330, WdfUsbTargetDeviceWdmGetConfigurationHandleTableIndex = 331, WdfUsbTargetDeviceRetrieveCurrentFrameNumberTableIndex = 332, WdfUsbTargetDeviceSendControlTransferSynchronouslyTableIndex = 333, WdfUsbTargetDeviceFormatRequestForControlTransferTableIndex = 334, WdfUsbTargetDeviceIsConnectedSynchronousTableIndex = 335, WdfUsbTargetDeviceResetPortSynchronouslyTableIndex = 336, WdfUsbTargetDeviceCyclePortSynchronouslyTableIndex = 337, WdfUsbTargetDeviceFormatRequestForCyclePortTableIndex = 338, WdfUsbTargetDeviceSendUrbSynchronouslyTableIndex = 339, WdfUsbTargetDeviceFormatRequestForUrbTableIndex = 340, WdfUsbTargetPipeGetInformationTableIndex = 341, WdfUsbTargetPipeIsInEndpointTableIndex = 342, WdfUsbTargetPipeIsOutEndpointTableIndex = 343, WdfUsbTargetPipeGetTypeTableIndex = 344, WdfUsbTargetPipeSetNoMaximumPacketSizeCheckTableIndex = 345, WdfUsbTargetPipeWriteSynchronouslyTableIndex = 346, WdfUsbTargetPipeFormatRequestForWriteTableIndex = 347, WdfUsbTargetPipeReadSynchronouslyTableIndex = 348, WdfUsbTargetPipeFormatRequestForReadTableIndex = 349, WdfUsbTargetPipeConfigContinuousReaderTableIndex = 350, WdfUsbTargetPipeAbortSynchronouslyTableIndex = 351, WdfUsbTargetPipeFormatRequestForAbortTableIndex = 352, WdfUsbTargetPipeResetSynchronouslyTableIndex = 353, WdfUsbTargetPipeFormatRequestForResetTableIndex = 354, WdfUsbTargetPipeSendUrbSynchronouslyTableIndex = 355, WdfUsbTargetPipeFormatRequestForUrbTableIndex = 356, WdfUsbInterfaceGetInterfaceNumberTableIndex = 357, WdfUsbInterfaceGetNumEndpointsTableIndex = 358, WdfUsbInterfaceGetDescriptorTableIndex = 359, WdfUsbInterfaceSelectSettingTableIndex = 360, WdfUsbInterfaceGetEndpointInformationTableIndex = 361, WdfUsbTargetDeviceGetInterfaceTableIndex = 362, WdfUsbInterfaceGetConfiguredSettingIndexTableIndex = 363, WdfUsbInterfaceGetNumConfiguredPipesTableIndex = 364, WdfUsbInterfaceGetConfiguredPipeTableIndex = 365, WdfUsbTargetPipeWdmGetPipeHandleTableIndex = 366, WdfVerifierDbgBreakPointTableIndex = 367, WdfVerifierKeBugCheckTableIndex = 368, WdfWmiProviderCreateTableIndex = 369, WdfWmiProviderGetDeviceTableIndex = 370, WdfWmiProviderIsEnabledTableIndex = 371, WdfWmiProviderGetTracingHandleTableIndex = 372, WdfWmiInstanceCreateTableIndex = 373, WdfWmiInstanceRegisterTableIndex = 374, WdfWmiInstanceDeregisterTableIndex = 375, WdfWmiInstanceGetDeviceTableIndex = 376, WdfWmiInstanceGetProviderTableIndex = 377, WdfWmiInstanceFireEventTableIndex = 378, WdfWorkItemCreateTableIndex = 379, WdfWorkItemEnqueueTableIndex = 380, WdfWorkItemGetParentObjectTableIndex = 381, WdfWorkItemFlushTableIndex = 382, WdfCommonBufferCreateWithConfigTableIndex = 383, WdfDmaEnablerGetFragmentLengthTableIndex = 384, WdfDmaEnablerWdmGetDmaAdapterTableIndex = 385, WdfUsbInterfaceGetNumSettingsTableIndex = 386, WdfDeviceRemoveDependentUsageDeviceObjectTableIndex = 387, WdfDeviceGetSystemPowerActionTableIndex = 388, WdfInterruptSetExtendedPolicyTableIndex = 389, WdfIoQueueAssignForwardProgressPolicyTableIndex = 390, WdfPdoInitAssignContainerIDTableIndex = 391, WdfPdoInitAllowForwardingRequestToParentTableIndex = 392, WdfRequestMarkCancelableExTableIndex = 393, WdfRequestIsReservedTableIndex = 394, WdfRequestForwardToParentDeviceIoQueueTableIndex = 395, WdfCxDeviceInitAllocateTableIndex = 396, WdfCxDeviceInitAssignWdmIrpPreprocessCallbackTableIndex = 397, WdfCxDeviceInitSetIoInCallerContextCallbackTableIndex = 398, WdfCxDeviceInitSetRequestAttributesTableIndex = 399, WdfCxDeviceInitSetFileObjectConfigTableIndex = 400, WdfDeviceWdmDispatchIrpTableIndex = 401, WdfDeviceWdmDispatchIrpToIoQueueTableIndex = 402, WdfDeviceInitSetRemoveLockOptionsTableIndex = 403, WdfDeviceConfigureWdmIrpDispatchCallbackTableIndex = 404, WdfDmaEnablerConfigureSystemProfileTableIndex = 405, WdfDmaTransactionInitializeUsingOffsetTableIndex = 406, WdfDmaTransactionGetTransferInfoTableIndex = 407, WdfDmaTransactionSetChannelConfigurationCallbackTableIndex = 408, WdfDmaTransactionSetTransferCompleteCallbackTableIndex = 409, WdfDmaTransactionSetImmediateExecutionTableIndex = 410, WdfDmaTransactionAllocateResourcesTableIndex = 411, WdfDmaTransactionSetDeviceAddressOffsetTableIndex = 412, WdfDmaTransactionFreeResourcesTableIndex = 413, WdfDmaTransactionCancelTableIndex = 414, WdfDmaTransactionWdmGetTransferContextTableIndex = 415, WdfInterruptQueueWorkItemForIsrTableIndex = 416, WdfInterruptTryToAcquireLockTableIndex = 417, WdfIoQueueStopAndPurgeTableIndex = 418, WdfIoQueueStopAndPurgeSynchronouslyTableIndex = 419, WdfIoTargetPurgeTableIndex = 420, WdfUsbTargetDeviceCreateWithConfigTableIndex = 421, WdfUsbTargetDeviceQueryUsbCapabilityTableIndex = 422, WdfUsbTargetDeviceCreateUrbTableIndex = 423, WdfUsbTargetDeviceCreateIsochUrbTableIndex = 424, WdfDeviceWdmAssignPowerFrameworkSettingsTableIndex = 425, WdfDmaTransactionStopSystemTransferTableIndex = 426, WdfCxVerifierKeBugCheckTableIndex = 427, WdfInterruptReportActiveTableIndex = 428, WdfInterruptReportInactiveTableIndex = 429, WdfFunctionTableNumEntries = 430 }; struct _M128A { unsigned long long Low; /* +0x0000 */ long long High; /* +0x0008 */ }; enum _INTERLOCKED_RESULT { ResultNegative = 1, ResultZero = 0, ResultPositive = 2 }; struct _KTIMER { unsigned char Header[24]; /* +0x0000 69 11 00 00 */ unsigned char DueTime[8]; /* +0x0018 44 10 00 00 */ unsigned char TimerListEntry[16]; /* +0x0020 75 10 00 00 */ unsigned char Dpc[8]; /* +0x0030 a2 12 00 00 */ unsigned long Processor; /* +0x0038 */ unsigned long Period; /* +0x003c */ }; enum _WDF_REQUEST_SEND_OPTIONS_FLAGS { WDF_REQUEST_SEND_OPTION_TIMEOUT = 1, WDF_REQUEST_SEND_OPTION_SYNCHRONOUS = 2, WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE = 4, WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET = 8 }; enum _WMIENABLEDISABLECONTROL { WmiEventControl = 0, WmiDataBlockControl = 1 }; struct _WMILIB_CONTEXT { unsigned long GuidCount; /* +0x0000 */ unsigned char GuidList[8]; /* +0x0008 e8 1b 00 00 */ unsigned char QueryWmiRegInfo[8]; /* +0x0010 eb 1b 00 00 */ unsigned char QueryWmiDataBlock[8]; /* +0x0018 ee 1b 00 00 */ unsigned char SetWmiDataBlock[8]; /* +0x0020 f1 1b 00 00 */ unsigned char SetWmiDataItem[8]; /* +0x0028 f4 1b 00 00 */ unsigned char ExecuteWmiMethod[8]; /* +0x0030 f7 1b 00 00 */ unsigned char WmiFunctionControl[8]; /* +0x0038 fc 1b 00 00 */ }; struct _FAST_IO_DISPATCH { unsigned long SizeOfFastIoDispatch; /* +0x0000 */ unsigned char FastIoCheckIfPossible[8]; /* +0x0008 01 1c 00 00 */ unsigned char FastIoRead[8]; /* +0x0010 04 1c 00 00 */ unsigned char FastIoWrite[8]; /* +0x0018 04 1c 00 00 */ unsigned char FastIoQueryBasicInfo[8]; /* +0x0020 09 1c 00 00 */ unsigned char FastIoQueryStandardInfo[8]; /* +0x0028 0e 1c 00 00 */ unsigned char FastIoLock[8]; /* +0x0030 11 1c 00 00 */ unsigned char FastIoUnlockSingle[8]; /* +0x0038 14 1c 00 00 */ unsigned char FastIoUnlockAll[8]; /* +0x0040 17 1c 00 00 */ unsigned char FastIoUnlockAllByKey[8]; /* +0x0048 1a 1c 00 00 */ unsigned char FastIoDeviceControl[8]; /* +0x0050 1d 1c 00 00 */ unsigned char AcquireFileForNtCreateSection[8]; /* +0x0058 20 1c 00 00 */ unsigned char ReleaseFileForNtCreateSection[8]; /* +0x0060 20 1c 00 00 */ unsigned char FastIoDetachDevice[8]; /* +0x0068 23 1c 00 00 */ unsigned char FastIoQueryNetworkOpenInfo[8]; /* +0x0070 28 1c 00 00 */ unsigned char AcquireForModWrite[8]; /* +0x0078 2e 1c 00 00 */ unsigned char MdlRead[8]; /* +0x0080 31 1c 00 00 */ unsigned char MdlReadComplete[8]; /* +0x0088 34 1c 00 00 */ unsigned char PrepareMdlWrite[8]; /* +0x0090 31 1c 00 00 */ unsigned char MdlWriteComplete[8]; /* +0x0098 37 1c 00 00 */ unsigned char FastIoReadCompressed[8]; /* +0x00a0 3c 1c 00 00 */ unsigned char FastIoWriteCompressed[8]; /* +0x00a8 3c 1c 00 00 */ unsigned char MdlReadCompleteCompressed[8]; /* +0x00b0 34 1c 00 00 */ unsigned char MdlWriteCompleteCompressed[8]; /* +0x00b8 37 1c 00 00 */ unsigned char FastIoQueryOpen[8]; /* +0x00c0 3f 1c 00 00 */ unsigned char ReleaseForModWrite[8]; /* +0x00c8 42 1c 00 00 */ unsigned char AcquireForCcFlush[8]; /* +0x00d0 45 1c 00 00 */ unsigned char ReleaseForCcFlush[8]; /* +0x00d8 45 1c 00 00 */ }; struct _IMAGE_OPTIONAL_HEADER64 { unsigned short Magic; /* +0x0000 */ unsigned char MajorLinkerVersion; /* +0x0002 */ unsigned char MinorLinkerVersion; /* +0x0003 */ unsigned long SizeOfCode; /* +0x0004 */ unsigned long SizeOfInitializedData; /* +0x0008 */ unsigned long SizeOfUninitializedData; /* +0x000c */ unsigned long AddressOfEntryPoint; /* +0x0010 */ unsigned long BaseOfCode; /* +0x0014 */ unsigned long long ImageBase; /* +0x0018 */ unsigned long SectionAlignment; /* +0x0020 */ unsigned long FileAlignment; /* +0x0024 */ unsigned short MajorOperatingSystemVersion; /* +0x0028 */ unsigned short MinorOperatingSystemVersion; /* +0x002a */ unsigned short MajorImageVersion; /* +0x002c */ unsigned short MinorImageVersion; /* +0x002e */ unsigned short MajorSubsystemVersion; /* +0x0030 */ unsigned short MinorSubsystemVersion; /* +0x0032 */ unsigned long Win32VersionValue; /* +0x0034 */ unsigned long SizeOfImage; /* +0x0038 */ unsigned long SizeOfHeaders; /* +0x003c */ unsigned long CheckSum; /* +0x0040 */ unsigned short Subsystem; /* +0x0044 */ unsigned short DllCharacteristics; /* +0x0046 */ unsigned long long SizeOfStackReserve; /* +0x0048 */ unsigned long long SizeOfStackCommit; /* +0x0050 */ unsigned long long SizeOfHeapReserve; /* +0x0058 */ unsigned long long SizeOfHeapCommit; /* +0x0060 */ unsigned long LoaderFlags; /* +0x0068 */ unsigned long NumberOfRvaAndSizes; /* +0x006c */ unsigned char DataDirectory[128]; /* +0x0070 49 1c 00 00 */ }; struct _KIDTENTRY64 { unsigned short OffsetLow; /* +0x0000 */ unsigned short Selector; /* +0x0002 */ /* unsigned char IstIndex[0]; +0x0004 4c 1c 00 00 */ /* unsigned char Reserved0[0]; +0x0004 4d 1c 00 00 */ /* unsigned char Type[0]; +0x0004 4e 1c 00 00 */ /* unsigned char Dpl[0]; +0x0004 4f 1c 00 00 */ unsigned char Present[2]; /* +0x0004 50 1c 00 00 */ unsigned short OffsetMiddle; /* +0x0006 */ unsigned long OffsetHigh; /* +0x0008 */ unsigned long Reserved1; /* +0x000c */ unsigned long long Alignment; /* +0x0000 */ }; struct _KAFFINITY_EX { unsigned short Count; /* +0x0000 */ unsigned short Size; /* +0x0002 */ unsigned long Reserved; /* +0x0004 */ unsigned char Bitmap[64]; /* +0x0008 4a 11 00 00 */ }; enum _WDF_REQUEST_FORWARD_OPTIONS_FLAGS { WDF_REQUEST_FORWARD_OPTION_SEND_AND_FORGET = 1 }; enum _PS_STD_HANDLE_STATE { PsNeverDuplicate = 0, PsRequestDuplicate = 1, PsAlwaysDuplicate = 2, PsMaxStdHandleStates = 3 }; struct _RUNTIME_PERF_STATES { unsigned char PStateHandler[8]; /* +0x0000 0a 1a 00 00 */ unsigned char TStateHandler[8]; /* +0x0008 0a 1a 00 00 */ unsigned char HardwareFeedbackRoutine[8]; /* +0x0010 0d 1a 00 00 */ unsigned char FrequencySensitivityRoutine[8]; /* +0x0018 a0 12 00 00 */ unsigned long long PStateContext; /* +0x0020 */ unsigned long long TStateContext; /* +0x0028 */ unsigned char States[8]; /* +0x0030 5a 1c 00 00 */ unsigned long StateCount; /* +0x0038 */ unsigned long PStateCount; /* +0x003c */ unsigned long TStateCount; /* +0x0040 */ }; struct _ACPI_INTERFACE_STANDARD { unsigned short Size; /* +0x0000 */ unsigned short Version; /* +0x0002 */ void *Context; /* +0x0008 */ unsigned char InterfaceReference[8]; /* +0x0010 a6 11 00 00 */ unsigned char InterfaceDereference[8]; /* +0x0018 a6 11 00 00 */ unsigned char GpeConnectVector[8]; /* +0x0020 61 1c 00 00 */ unsigned char GpeDisconnectVector[8]; /* +0x0028 63 1c 00 00 */ unsigned char GpeEnableEvent[8]; /* +0x0030 66 1c 00 00 */ unsigned char GpeDisableEvent[8]; /* +0x0038 66 1c 00 00 */ unsigned char GpeClearStatus[8]; /* +0x0040 66 1c 00 00 */ unsigned char RegisterForDeviceNotifications[8]; /* +0x0048 69 1c 00 00 */ unsigned char UnregisterForDeviceNotifications[8]; /* +0x0050 6c 1c 00 00 */ }; struct _RTL_USER_PROCESS_PARAMETERS { unsigned long MaximumLength; /* +0x0000 */ unsigned long Length; /* +0x0004 */ unsigned long Flags; /* +0x0008 */ unsigned long DebugFlags; /* +0x000c */ void *ConsoleHandle; /* +0x0010 */ unsigned long ConsoleFlags; /* +0x0018 */ void *StandardInput; /* +0x0020 */ void *StandardOutput; /* +0x0028 */ void *StandardError; /* +0x0030 */ unsigned char CurrentDirectory[24]; /* +0x0038 6f 1c 00 00 */ unsigned char DllPath[16]; /* +0x0050 96 10 00 00 */ unsigned char ImagePathName[16]; /* +0x0060 96 10 00 00 */ unsigned char CommandLine[16]; /* +0x0070 96 10 00 00 */ void *Environment; /* +0x0080 */ unsigned long StartingX; /* +0x0088 */ unsigned long StartingY; /* +0x008c */ unsigned long CountX; /* +0x0090 */ unsigned long CountY; /* +0x0094 */ unsigned long CountCharsX; /* +0x0098 */ unsigned long CountCharsY; /* +0x009c */ unsigned long FillAttribute; /* +0x00a0 */ unsigned long WindowFlags; /* +0x00a4 */ unsigned long ShowWindowFlags; /* +0x00a8 */ unsigned char WindowTitle[16]; /* +0x00b0 96 10 00 00 */ unsigned char DesktopInfo[16]; /* +0x00c0 96 10 00 00 */ unsigned char ShellInfo[16]; /* +0x00d0 96 10 00 00 */ unsigned char RuntimeData[16]; /* +0x00e0 96 10 00 00 */ unsigned char CurrentDirectores[768]; /* +0x00f0 71 1c 00 00 */ unsigned char EnvironmentSize[8]; /* +0x03f0 3b 10 00 00 */ unsigned char EnvironmentVersion[8]; /* +0x03f8 3b 10 00 00 */ unsigned char PackageMoniker[16]; /* +0x0400 96 10 00 00 */ void *PackageDependencyData; /* +0x0410 */ unsigned long ProcessGroupId; /* +0x0418 */ }; struct _DMA_ADAPTER_INFO_V1 { unsigned long ReadDmaCounterAvailable; /* +0x0000 */ unsigned long ScatterGatherLimit; /* +0x0004 */ unsigned long DmaAddressWidth; /* +0x0008 */ unsigned long Flags; /* +0x000c */ unsigned long MinimumTransferUnit; /* +0x0010 */ }; struct _RUNTIME_IDLE_CONTEXT { /* unsigned char Register[0]; +0x0000 01 1a 00 00 */ unsigned char MwaitContext[24]; /* +0x0000 76 1c 00 00 */ }; struct _FILE_BASIC_INFORMATION { unsigned char CreationTime[8]; /* +0x0000 2b 10 00 00 */ unsigned char LastAccessTime[8]; /* +0x0008 2b 10 00 00 */ unsigned char LastWriteTime[8]; /* +0x0010 2b 10 00 00 */ unsigned char ChangeTime[8]; /* +0x0018 2b 10 00 00 */ unsigned long FileAttributes; /* +0x0020 */ }; struct _KSPECIAL_REGISTERS { unsigned long long Cr0; /* +0x0000 */ unsigned long long Cr2; /* +0x0008 */ unsigned long long Cr3; /* +0x0010 */ unsigned long long Cr4; /* +0x0018 */ unsigned long long KernelDr0; /* +0x0020 */ unsigned long long KernelDr1; /* +0x0028 */ unsigned long long KernelDr2; /* +0x0030 */ unsigned long long KernelDr3; /* +0x0038 */ unsigned long long KernelDr6; /* +0x0040 */ unsigned long long KernelDr7; /* +0x0048 */ unsigned char Gdtr[16]; /* +0x0050 7b 1c 00 00 */ unsigned char Idtr[16]; /* +0x0060 7b 1c 00 00 */ unsigned short Tr; /* +0x0070 */ unsigned short Ldtr; /* +0x0072 */ unsigned long MxCsr; /* +0x0074 */ unsigned long long DebugControl; /* +0x0078 */ unsigned long long LastBranchToRip; /* +0x0080 */ unsigned long long LastBranchFromRip; /* +0x0088 */ unsigned long long LastExceptionToRip; /* +0x0090 */ unsigned long long LastExceptionFromRip; /* +0x0098 */ unsigned long long Cr8; /* +0x00a0 */ unsigned long long MsrGsBase; /* +0x00a8 */ unsigned long long MsrGsSwap; /* +0x00b0 */ unsigned long long MsrStar; /* +0x00b8 */ unsigned long long MsrLStar; /* +0x00c0 */ unsigned long long MsrCStar; /* +0x00c8 */ unsigned long long MsrSyscallMask; /* +0x00d0 */ unsigned long long Xcr0; /* +0x00d8 */ }; /* struct { unsigned char CurrentState[4]; +0x0000 c8 15 00 00 unsigned char NewState[4]; +0x0004 c8 15 00 00 }; */ /* struct { unsigned char CurrentState[4]; +0x0000 c8 15 00 00 }; */ /* struct { /* unsigned char EnterState[0]; +0x0000 7f 1c 00 00 /* unsigned char PostProcessState[0]; +0x0000 81 1c 00 00 unsigned char LeaveState[8]; +0x0000 7f 1c 00 00 }; */ struct _WDF_DEVICE_PNP_NOTIFICATION_DATA { unsigned char Type[4]; /* +0x0000 87 1a 00 00 */ unsigned char Data[8]; /* +0x0004 83 1c 00 00 */ }; struct _CLIENT_ID { void *UniqueProcess; /* +0x0000 */ void *UniqueThread; /* +0x0008 */ }; struct _ACPI_CSD { unsigned long Count; /* +0x0000 */ unsigned char State[24]; /* +0x0004 89 1c 00 00 */ }; struct _IO_SECURITY_CONTEXT { unsigned char SecurityQos[8]; /* +0x0000 6a 1b 00 00 */ unsigned char AccessState[8]; /* +0x0008 50 13 00 00 */ unsigned long DesiredAccess; /* +0x0010 */ unsigned long FullCreateOptions; /* +0x0014 */ }; struct _PEB_LDR_DATA { unsigned long Length; /* +0x0000 */ unsigned char Initialized; /* +0x0004 */ void *SsHandle; /* +0x0008 */ unsigned char InLoadOrderModuleList[16]; /* +0x0010 75 10 00 00 */ unsigned char InMemoryOrderModuleList[16]; /* +0x0020 75 10 00 00 */ unsigned char InInitializationOrderModuleList[16]; /* +0x0030 75 10 00 00 */ void *EntryInProgress; /* +0x0040 */ unsigned char ShutdownInProgress; /* +0x0048 */ void *ShutdownThreadId; /* +0x0050 */ }; struct _RUNTIME_PEP_IDLE_STATES { unsigned long Count; /* +0x0000 */ unsigned long SelectedState; /* +0x0004 */ unsigned long TargetState; /* +0x0008 */ unsigned long MaximumDependencies; /* +0x000c */ unsigned long long IdleTime; /* +0x0010 */ unsigned long long TotalTime; /* +0x0018 */ unsigned char DevExt[8]; /* +0x0020 fe 19 00 00 */ unsigned char DependencyArray[8]; /* +0x0028 91 1c 00 00 */ unsigned char State[48]; /* +0x0030 93 1c 00 00 */ }; enum ReplacesCorHdrNumericDefines { COMIMAGE_FLAGS_ILONLY = 1, COMIMAGE_FLAGS_32BITREQUIRED = 2, COMIMAGE_FLAGS_IL_LIBRARY = 4, COMIMAGE_FLAGS_STRONGNAMESIGNED = 8, COMIMAGE_FLAGS_NATIVE_ENTRYPOINT = 16, /* COMIMAGE_FLAGS_TRACKDEBUGDATA = Unavail */ }; struct _WMIGUIDREGINFO { unsigned char Guid[8]; /* +0x0000 62 12 00 00 */ unsigned long InstanceCount; /* +0x0008 */ unsigned long Flags; /* +0x000c */ }; struct ACPI_CSD_STATE { unsigned long NumberOfEntries; /* +0x0000 */ unsigned long Revision; /* +0x0004 */ unsigned long DomainNumber; /* +0x0008 */ unsigned long CoordinationType; /* +0x000c */ unsigned long MemberCount; /* +0x0010 */ unsigned long Index; /* +0x0014 */ }; /* struct { unsigned char BaseMiddle; +0x0000 unsigned char Flags1; +0x0001 unsigned char Flags2; +0x0002 unsigned char BaseHigh; +0x0003 }; */ /* struct { /* unsigned char BaseMiddle[0]; +0x0000 50 1b 00 00 /* unsigned char Type[0]; +0x0000 9e 1c 00 00 /* unsigned char Dpl[0]; +0x0000 9f 1c 00 00 /* unsigned char Present[0]; +0x0000 36 1b 00 00 /* unsigned char LimitHigh[0]; +0x0000 53 1b 00 00 /* unsigned char System[0]; +0x0000 54 1b 00 00 /* unsigned char LongMode[0]; +0x0000 55 1b 00 00 /* unsigned char DefaultBig[0]; +0x0000 a0 1c 00 00 /* unsigned char Granularity[0]; +0x0000 a1 1c 00 00 unsigned char BaseHigh[4]; +0x0000 a2 1c 00 00 }; */ struct _KGDTENTRY64 { unsigned short LimitLow; /* +0x0000 */ unsigned short BaseLow; /* +0x0002 */ /* unsigned char Bytes[0]; +0x0004 9d 1c 00 00 */ unsigned char Bits[4]; /* +0x0004 a4 1c 00 00 */ unsigned long BaseUpper; /* +0x0008 */ unsigned long MustBeZero; /* +0x000c */ long long DataLow; /* +0x0000 */ long long DataHigh; /* +0x0008 */ }; struct _MAILSLOT_CREATE_PARAMETERS { unsigned long MailslotQuota; /* +0x0000 */ unsigned long MaximumMessageSize; /* +0x0004 */ unsigned char ReadTimeout[8]; /* +0x0008 2b 10 00 00 */ unsigned char TimeoutSpecified; /* +0x0010 */ }; struct _PROCESSOR_PACKAGE { unsigned char Link[16]; /* +0x0000 75 10 00 00 */ unsigned char DevExtHead[16]; /* +0x0010 75 10 00 00 */ /* unsigned char Members[0]; +0x0020 da 1a 00 00 */ unsigned long Id; /* +0x0020 */ unsigned long Total; /* +0x0068 */ unsigned long Count; /* +0x006c */ }; struct _NAMED_PIPE_CREATE_PARAMETERS { unsigned long NamedPipeType; /* +0x0000 */ unsigned long ReadMode; /* +0x0004 */ unsigned long CompletionMode; /* +0x0008 */ unsigned long MaximumInstances; /* +0x000c */ unsigned long InboundQuota; /* +0x0010 */ unsigned long OutboundQuota; /* +0x0014 */ unsigned char DefaultTimeout[8]; /* +0x0018 2b 10 00 00 */ unsigned char TimeoutSpecified; /* +0x0020 */ }; struct _PCC_RUNTIME_STATE { unsigned char Link[16]; /* +0x0000 75 10 00 00 */ unsigned long TargetFrequency; /* +0x0010 */ unsigned long ActualFrequency; /* +0x0014 */ unsigned char InputBuffer[8]; /* +0x0018 ae 1c 00 00 */ unsigned char OutputBuffer[8]; /* +0x0020 b0 1c 00 00 */ unsigned long Cap; /* +0x0028 */ unsigned char DevExt[8]; /* +0x0030 fe 19 00 00 */ }; enum _WDF_REQUEST_REUSE_FLAGS { WDF_REQUEST_REUSE_NO_FLAGS = 0, WDF_REQUEST_REUSE_SET_NEW_IRP = 1, WDF_REQUEST_REUSE_CX_FLAG1 = 2 }; struct _ACTIVATION_CONTEXT_STACK { unsigned char ActiveFrame[8]; /* +0x0000 b6 1c 00 00 */ unsigned char FrameListCache[16]; /* +0x0008 75 10 00 00 */ unsigned long Flags; /* +0x0018 */ unsigned long NextCookieSequenceNumber; /* +0x001c */ unsigned long StackId; /* +0x0020 */ }; struct _RTL_DRIVE_LETTER_CURDIR { unsigned short Flags; /* +0x0000 */ unsigned short Length; /* +0x0002 */ unsigned long TimeStamp; /* +0x0004 */ unsigned char DosPath[16]; /* +0x0008 df 10 00 00 */ }; struct _DEVOBJ_EXTENSION { short Type; /* +0x0000 */ unsigned short Size; /* +0x0002 */ unsigned char DeviceObject[8]; /* +0x0008 1b 12 00 00 */ unsigned long PowerFlags; /* +0x0010 */ unsigned char Dope[8]; /* +0x0018 bc 1c 00 00 */ unsigned long ExtensionFlags; /* +0x0020 */ void *DeviceNode; /* +0x0028 */ unsigned char AttachedTo[8]; /* +0x0030 1b 12 00 00 */ long StartIoCount; /* +0x0038 */ long StartIoKey; /* +0x003c */ unsigned long StartIoFlags; /* +0x0040 */ unsigned char Vpb[8]; /* +0x0048 56 12 00 00 */ unsigned char DependentList[16]; /* +0x0050 75 10 00 00 */ unsigned char ProviderList[16]; /* +0x0060 75 10 00 00 */ }; struct _TXN_PARAMETER_BLOCK { unsigned short Length; /* +0x0000 */ unsigned short TxFsContext; /* +0x0002 */ void *TransactionObject; /* +0x0008 */ }; enum _WDF_WMI_PROVIDER_FLAGS { WdfWmiProviderEventOnly = 1, WdfWmiProviderExpensive = 2, WdfWmiProviderTracing = 4, WdfWmiProviderValidFlags = 7 }; struct _SCATTER_GATHER_ELEMENT { unsigned char Address[8]; /* +0x0000 2b 10 00 00 */ unsigned long Length; /* +0x0008 */ unsigned long long Reserved; /* +0x0010 */ }; struct _RUNTIME_PERF_STATE { unsigned long long Control; /* +0x0000 */ unsigned long long Status; /* +0x0008 */ unsigned long Frequency; /* +0x0010 */ unsigned long Power; /* +0x0014 */ unsigned char PercentFrequency; /* +0x0018 */ unsigned char Type; /* +0x0019 */ unsigned short Latency; /* +0x001a */ }; struct _RUNTIME_PEP_IDLE_STATE { unsigned char CstState[8]; /* +0x0000 ae 1b 00 00 */ unsigned char Check[8]; /* +0x0008 b5 1b 00 00 */ unsigned char Handler[8]; /* +0x0010 b7 1b 00 00 */ unsigned char Context[24]; /* +0x0018 b1 1b 00 00 */ }; struct _PCC_INTERFACE_INTERNAL { unsigned short Size; /* +0x0000 */ unsigned short Version; /* +0x0002 */ void *Context; /* +0x0008 */ unsigned char InterfaceReference[8]; /* +0x0010 a6 11 00 00 */ unsigned char InterfaceDereference[8]; /* +0x0018 a6 11 00 00 */ unsigned long SubspaceId; /* +0x0020 */ unsigned char PhysicalAddress[8]; /* +0x0028 2b 10 00 00 */ unsigned long PhysicalSize; /* +0x0030 */ unsigned long long DoorbellWrite; /* +0x0038 */ unsigned long long DoorbellPreserve; /* +0x0040 */ unsigned char Doorbell[16]; /* +0x0048 01 1a 00 00 */ }; /* struct { /* unsigned char SciSupported[0]; +0x0000 32 10 00 00 /* unsigned char Reserved[0]; +0x0000 cb 1c 00 00 unsigned long AsULong; +0x0000 }; */ struct _PCC_INTERFACE_STANDARD { unsigned short Size; /* +0x0000 */ unsigned short Version; /* +0x0002 */ void *Context; /* +0x0008 */ unsigned char InterfaceReference[8]; /* +0x0010 a6 11 00 00 */ unsigned char InterfaceDereference[8]; /* +0x0018 a6 11 00 00 */ unsigned long SubspaceId; /* +0x0020 */ void *Handle; /* +0x0028 */ unsigned long NominalLatency; /* +0x0030 */ void *Subspace; /* +0x0038 */ unsigned long SubspaceSize; /* +0x0040 */ unsigned char Flags[4]; /* +0x0044 cd 1c 00 00 */ unsigned char AcquireSubspace[8]; /* +0x0048 63 1c 00 00 */ unsigned char AcquireSubspaceAsync[8]; /* +0x0050 d0 1c 00 00 */ unsigned char ExecuteCommand[8]; /* +0x0058 d3 1c 00 00 */ unsigned char ExecuteCommandAsync[8]; /* +0x0060 d6 1c 00 00 */ unsigned char ReleaseSubspace[8]; /* +0x0068 63 1c 00 00 */ }; enum _PS_WAKE_REASON { PsWakeReasonUser = 0, PsWakeReasonDevice = 1, PsWakeReasonKernel = 2, PsWakeReasonPower = 3, PsMaxWakeReasons = 4 }; struct _FILE_NETWORK_OPEN_INFORMATION { unsigned char CreationTime[8]; /* +0x0000 2b 10 00 00 */ unsigned char LastAccessTime[8]; /* +0x0008 2b 10 00 00 */ unsigned char LastWriteTime[8]; /* +0x0010 2b 10 00 00 */ unsigned char ChangeTime[8]; /* +0x0018 2b 10 00 00 */ unsigned char AllocationSize[8]; /* +0x0020 2b 10 00 00 */ unsigned char EndOfFile[8]; /* +0x0028 2b 10 00 00 */ unsigned long FileAttributes; /* +0x0030 */ }; enum _SE_SIGNING_LEVEL { SE_SIGNING_LEVEL_UNCHECKED = 0, SE_SIGNING_LEVEL_PROTECTED_PROCESS = 1, SE_SIGNING_LEVEL_UNSIGNED = 2, SE_SIGNING_LEVEL_AUTHENTICODE = 4, SE_SIGNING_LEVEL_DRM_PROTECTED = 5, SE_SIGNING_LEVEL_WINDOWS = 6, SE_SIGNING_LEVEL_WINDOWS_PROTECTED = 7 }; enum _REG_NOTIFY_CLASS { RegNtDeleteKey = 0, RegNtPreDeleteKey = 0, RegNtSetValueKey = 1, RegNtPreSetValueKey = 1, RegNtDeleteValueKey = 2, RegNtPreDeleteValueKey = 2, RegNtSetInformationKey = 3, RegNtPreSetInformationKey = 3, RegNtRenameKey = 4, RegNtPreRenameKey = 4, RegNtEnumerateKey = 5, RegNtPreEnumerateKey = 5, RegNtEnumerateValueKey = 6, RegNtPreEnumerateValueKey = 6, RegNtQueryKey = 7, RegNtPreQueryKey = 7, RegNtQueryValueKey = 8, RegNtPreQueryValueKey = 8, RegNtQueryMultipleValueKey = 9, RegNtPreQueryMultipleValueKey = 9, RegNtPreCreateKey = 10, RegNtPostCreateKey = 11, RegNtPreOpenKey = 12, RegNtPostOpenKey = 13, RegNtKeyHandleClose = 14, RegNtPreKeyHandleClose = 14, RegNtPostDeleteKey = 15, RegNtPostSetValueKey = 16, RegNtPostDeleteValueKey = 17, RegNtPostSetInformationKey = 18, RegNtPostRenameKey = 19, RegNtPostEnumerateKey = 20, RegNtPostEnumerateValueKey = 21, RegNtPostQueryKey = 22, RegNtPostQueryValueKey = 23, RegNtPostQueryMultipleValueKey = 24, RegNtPostKeyHandleClose = 25, RegNtPreCreateKeyEx = 26, RegNtPostCreateKeyEx = 27, RegNtPreOpenKeyEx = 28, RegNtPostOpenKeyEx = 29, RegNtPreFlushKey = 30, RegNtPostFlushKey = 31, RegNtPreLoadKey = 32, RegNtPostLoadKey = 33, RegNtPreUnLoadKey = 34, RegNtPostUnLoadKey = 35, RegNtPreQueryKeySecurity = 36, RegNtPostQueryKeySecurity = 37, RegNtPreSetKeySecurity = 38, RegNtPostSetKeySecurity = 39, RegNtCallbackObjectContextCleanup = 40, RegNtPreRestoreKey = 41, RegNtPostRestoreKey = 42, RegNtPreSaveKey = 43, RegNtPostSaveKey = 44, RegNtPreReplaceKey = 45, RegNtPostReplaceKey = 46, MaxRegNtNotifyClass = 47 }; struct _ERESOURCE { unsigned char SystemResourcesList[16]; /* +0x0000 75 10 00 00 */ unsigned char OwnerTable[8]; /* +0x0010 e2 1c 00 00 */ short ActiveCount; /* +0x0018 */ unsigned short Flag; /* +0x001a */ unsigned char ReservedLowFlags; /* +0x001a */ unsigned char WaiterPriority; /* +0x001b */ unsigned char SharedWaiters[8]; /* +0x0020 e4 1c 00 00 */ unsigned char ExclusiveWaiters[8]; /* +0x0028 62 11 00 00 */ unsigned char OwnerEntry[16]; /* +0x0030 e1 1c 00 00 */ unsigned long ActiveEntries; /* +0x0040 */ unsigned long ContentionCount; /* +0x0044 */ unsigned long NumberOfSharedWaiters; /* +0x0048 */ unsigned long NumberOfExclusiveWaiters; /* +0x004c */ void *Reserved2; /* +0x0050 */ void *Address; /* +0x0058 */ unsigned long long CreatorBackTraceIndex; /* +0x0058 */ unsigned long long SpinLock; /* +0x0060 */ }; struct _KSEMAPHORE { unsigned char Header[24]; /* +0x0000 69 11 00 00 */ long Limit; /* +0x0018 */ }; struct _XSAVE_FORMAT { unsigned short ControlWord; /* +0x0000 */ unsigned short StatusWord; /* +0x0002 */ unsigned char TagWord; /* +0x0004 */ unsigned char Reserved1; /* +0x0005 */ unsigned short ErrorOpcode; /* +0x0006 */ unsigned long ErrorOffset; /* +0x0008 */ unsigned short ErrorSelector; /* +0x000c */ unsigned short Reserved2; /* +0x000e */ unsigned long DataOffset; /* +0x0010 */ unsigned short DataSelector; /* +0x0014 */ unsigned short Reserved3; /* +0x0016 */ unsigned long MxCsr; /* +0x0018 */ unsigned long MxCsr_Mask; /* +0x001c */ unsigned char FloatRegisters[128]; /* +0x0020 be 1b 00 00 */ unsigned char XmmRegisters[256]; /* +0x00a0 e9 1c 00 00 */ unsigned char Reserved4[96]; /* +0x01a0 ea 1c 00 00 */ }; struct _OBJECT_DUMP_CONTROL { void *Stream; /* +0x0000 */ unsigned long Detail; /* +0x0008 */ }; struct _WHEA_PERSISTENCE_INFO { /* unsigned char Signature[0]; +0x0000 7b 11 00 00 */ /* unsigned char Length[0]; +0x0000 ef 1c 00 00 */ /* unsigned char Identifier[0]; +0x0000 f0 1c 00 00 */ /* unsigned char Attributes[0]; +0x0000 f1 1c 00 00 */ /* unsigned char DoNotLog[0]; +0x0000 f2 1c 00 00 */ /* unsigned char Reserved[0]; +0x0000 f3 1c 00 00 */ unsigned long long AsULONGLONG; /* +0x0000 */ }; enum _KINTERRUPT_POLARITY { InterruptPolarityUnknown = 0, InterruptActiveHigh = 1, InterruptRisingEdge = 1, InterruptActiveLow = 2, InterruptFallingEdge = 2, InterruptActiveBoth = 3 }; struct _EXCEPTION_RECORD { long ExceptionCode; /* +0x0000 */ unsigned long ExceptionFlags; /* +0x0004 */ unsigned char ExceptionRecord[8]; /* +0x0008 a1 1b 00 00 */ void *ExceptionAddress; /* +0x0010 */ unsigned long NumberParameters; /* +0x0018 */ unsigned char ExceptionInformation[120]; /* +0x0020 f8 1c 00 00 */ }; struct _COMPRESSED_DATA_INFO { unsigned short CompressionFormatAndEngine; /* +0x0000 */ unsigned char CompressionUnitShift; /* +0x0002 */ unsigned char ChunkShift; /* +0x0003 */ unsigned char ClusterShift; /* +0x0004 */ unsigned char Reserved; /* +0x0005 */ unsigned short NumberOfChunks; /* +0x0006 */ unsigned char CompressedChunkSizes[4]; /* +0x0008 2a 10 00 00 */ }; struct _OBJECT_NAME_INFORMATION { unsigned char Name[16]; /* +0x0000 96 10 00 00 */ }; struct _KDESCRIPTOR { unsigned char Pad[6]; /* +0x0000 fc 10 00 00 */ unsigned short Limit; /* +0x0006 */ void *Base; /* +0x0008 */ }; struct _SECURITY_QUALITY_OF_SERVICE { unsigned long Length; /* +0x0000 */ unsigned char ImpersonationLevel[4]; /* +0x0004 99 1b 00 00 */ unsigned char ContextTrackingMode; /* +0x0008 */ unsigned char EffectiveOnly; /* +0x0009 */ }; struct _FILE_STANDARD_INFORMATION { unsigned char AllocationSize[8]; /* +0x0000 2b 10 00 00 */ unsigned char EndOfFile[8]; /* +0x0008 2b 10 00 00 */ unsigned long NumberOfLinks; /* +0x0010 */ unsigned char DeletePending; /* +0x0014 */ unsigned char Directory; /* +0x0015 */ }; /* struct { unsigned char ReservedZ[3]; +0x0000 31 10 00 00 }; */ /* struct { unsigned char DesiredFrequency; +0x0000 unsigned char ReservedZ[2]; +0x0001 30 10 00 00 }; */ struct _PCC_INPUT_BUFFER { unsigned char ControlEnabled; /* +0x0000 */ /* unsigned char GetAverageFrequency[0]; +0x0001 06 1d 00 00 */ unsigned char SetDesiredFrequency[3]; /* +0x0001 08 1d 00 00 */ }; struct _IMAGE_DATA_DIRECTORY { unsigned long VirtualAddress; /* +0x0000 */ unsigned long Size; /* +0x0004 */ }; /* struct { /* unsigned char HardwareCoordinated[0]; +0x0000 32 10 00 00 /* unsigned char UseBmStatus[0]; +0x0000 33 10 00 00 /* unsigned char Reserved[0]; +0x0000 0f 1d 00 00 unsigned long AsULONG; +0x0000 }; */ struct MWAIT_CONTEXT { /* unsigned char SubCState[0]; +0x0000 0d 1d 00 00 */ /* unsigned char TargetCState[0]; +0x0000 0e 1d 00 00 */ unsigned long Hints; /* +0x0000 */ /* unsigned char EnableBreakEvent[0]; +0x0004 32 10 00 00 */ unsigned long Extensions; /* +0x0004 */ unsigned long long HintsExtensions; /* +0x0000 */ unsigned long long MonitorAddress; /* +0x0008 */ unsigned char Flags[8]; /* +0x0010 11 1d 00 00 */ }; struct _CURDIR { unsigned char DosPath[16]; /* +0x0000 96 10 00 00 */ void *Handle; /* +0x0010 */ }; struct _OWNER_ENTRY { unsigned long long OwnerThread; /* +0x0000 */ /* unsigned char IoPriorityBoosted[0]; +0x0008 32 10 00 00 */ /* unsigned char OwnerReferenced[0]; +0x0008 33 10 00 00 */ /* unsigned char OwnerCount[0]; +0x0008 60 10 00 00 */ unsigned long TableSize; /* +0x0008 */ }; /* struct { unsigned char AverageFrequency; +0x0000 unsigned char FrequencyLimit; +0x0001 unsigned char Reserved[2]; +0x0002 30 10 00 00 }; */ /* struct { unsigned char Reserved[4]; +0x0000 1a 1d 00 00 }; */ struct _PCC_OUTPUT_BUFFER { /* unsigned char GetAverageFrequency[0]; +0x0000 19 1d 00 00 */ unsigned char SetDesiredFrequency[4]; /* +0x0000 1c 1d 00 00 */ }; struct _PEP_PROCESSOR_IDLE_DEPENDENCY { /* unsigned char TargetProcessor[0]; +0x0000 8b 15 00 00 */ void *DeviceContext; /* +0x0000 */ unsigned char ExpectedState; /* +0x0008 */ };