VirtualBox

Changeset 53445 in vbox for trunk


Ignore:
Timestamp:
Dec 4, 2014 4:22:33 PM (10 years ago)
Author:
vboxsync
Message:

nt.h: KUSER_SHARED_DATA offsets.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/nt/nt.h

    r52969 r53445  
    441441typedef struct _KUSER_SHARED_DATA
    442442{
    443     ULONG                   TickCountLowDeprecated;
    444     ULONG                   TickCountMultiplier;
    445     KSYSTEM_TIME volatile   InterruptTime;
    446     KSYSTEM_TIME volatile   SystemTime;
    447     KSYSTEM_TIME volatile   TimeZoneBias;
    448     USHORT                  ImageNumberLow;
    449     USHORT                  ImageNumberHigh;
    450     WCHAR                   NtSystemRoot[260];
    451     ULONG                   MaxStackTraceDepth;
    452     ULONG                   CryptoExponent;
    453     ULONG                   TimeZoneId;
    454     ULONG                   LargePageMinimum;
    455     ULONG                   AitSamplingValue;
    456     ULONG                   AppCompatFlag;
    457     ULONGLONG               RNGSeedVersion;
    458     ULONG                   GlobalValidationRunlevel;
    459     LONG volatile           TimeZoneBiasStamp;
    460     ULONG                   Reserved2;
    461     NT_PRODUCT_TYPE         NtProductType;
    462     BOOLEAN                 ProductTypeIsValid;
    463     BOOLEAN                 Reserved0[1];
    464     USHORT                  NativeProcessorArchitecture;
    465     ULONG                   NtMajorVersion;
    466     ULONG                   NtMinorVersion;
    467     BOOLEAN                 ProcessorFeatures[PROCESSOR_FEATURE_MAX];
    468     ULONG                   Reserved1;
    469     ULONG                   Reserved3;
    470     ULONG volatile          TimeSlip;
    471     ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;
    472     ULONG                   AltArchitecturePad[1];
    473     LARGE_INTEGER           SystemExpirationDate;
    474     ULONG                   SuiteMask;
    475     BOOLEAN                 KdDebuggerEnabled;
    476     union
    477     {
    478         UCHAR               MitigationPolicies;
     443    ULONG                   TickCountLowDeprecated;                     /**< 0x000 */
     444    ULONG                   TickCountMultiplier;                        /**< 0x004 */
     445    KSYSTEM_TIME volatile   InterruptTime;                              /**< 0x008 */
     446    KSYSTEM_TIME volatile   SystemTime;                                 /**< 0x014 */
     447    KSYSTEM_TIME volatile   TimeZoneBias;                               /**< 0x020 */
     448    USHORT                  ImageNumberLow;                             /**< 0x02c */
     449    USHORT                  ImageNumberHigh;                            /**< 0x02e */
     450    WCHAR                   NtSystemRoot[260];                          /**< 0x030 */
     451    ULONG                   MaxStackTraceDepth;                         /**< 0x238 */
     452    ULONG                   CryptoExponent;                             /**< 0x23c */
     453    ULONG                   TimeZoneId;                                 /**< 0x240 */
     454    ULONG                   LargePageMinimum;                           /**< 0x244 */
     455    ULONG                   AitSamplingValue;                           /**< 0x248 */
     456    ULONG                   AppCompatFlag;                              /**< 0x24c */
     457    ULONGLONG               RNGSeedVersion;                             /**< 0x250 */
     458    ULONG                   GlobalValidationRunlevel;                   /**< 0x258 */
     459    LONG volatile           TimeZoneBiasStamp;                          /**< 0x25c*/
     460    ULONG                   Reserved2;                                  /**< 0x260 */
     461    NT_PRODUCT_TYPE         NtProductType;                              /**< 0x264 */
     462    BOOLEAN                 ProductTypeIsValid;                         /**< 0x268 */
     463    BOOLEAN                 Reserved0[1];                               /**< 0x269 */
     464    USHORT                  NativeProcessorArchitecture;                /**< 0x26a */
     465    ULONG                   NtMajorVersion;                             /**< 0x26c */
     466    ULONG                   NtMinorVersion;                             /**< 0x270 */
     467    BOOLEAN                 ProcessorFeatures[PROCESSOR_FEATURE_MAX];   /**< 0x274 */
     468    ULONG                   Reserved1;                                  /**< 0x2b4 */
     469    ULONG                   Reserved3;                                  /**< 0x2b8 */
     470    ULONG volatile          TimeSlip;                                   /**< 0x2bc */
     471    ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;              /**< 0x2c0 */
     472    ULONG                   AltArchitecturePad[1];                      /**< 0x2c4 */
     473    LARGE_INTEGER           SystemExpirationDate;                       /**< 0x2c8 */
     474    ULONG                   SuiteMask;                                  /**< 0x2d0 */
     475    BOOLEAN                 KdDebuggerEnabled;                          /**< 0x2d4 */
     476    union                                                               /**< 0x2d5 */
     477    {
     478        UCHAR               MitigationPolicies;                         /**< 0x2d5 */
    479479        struct
    480480        {
     
    485485        };
    486486    };
    487     UCHAR                   Reserved6[2];
    488     ULONG volatile          ActiveConsoleId;
    489     ULONG volatile          DismountCount;
    490     ULONG                   ComPlusPackage;
    491     ULONG                   LastSystemRITEventTickCount;
    492     ULONG                   NumberOfPhysicalPages;
    493     BOOLEAN                 SafeBootMode;
    494     UCHAR                   Reserved12[3];
    495     union
    496     {
    497         ULONG               SharedDataFlags;
     487    UCHAR                   Reserved6[2];                               /**< 0x2d6 */
     488    ULONG volatile          ActiveConsoleId;                            /**< 0x2d8 */
     489    ULONG volatile          DismountCount;                              /**< 0x2dc */
     490    ULONG                   ComPlusPackage;                             /**< 0x2e0 */
     491    ULONG                   LastSystemRITEventTickCount;                /**< 0x2e4 */
     492    ULONG                   NumberOfPhysicalPages;                      /**< 0x2e8 */
     493    BOOLEAN                 SafeBootMode;                               /**< 0x2ec */
     494    UCHAR                   Reserved12[3];                              /**< 0x2ed */
     495    union                                                               /**< 0x2f0 */
     496    {
     497        ULONG               SharedDataFlags;                            /**< 0x2f0 */
    498498        struct
    499499        {
     
    509509        };
    510510    };
    511     ULONG                   DataFlagsPad[1];
    512     ULONGLONG               TestRetInstruction;
    513     LONGLONG                QpcFrequency;
    514     ULONGLONG               SystemCallPad[3];
    515     union
    516     {
    517         ULONG64 volatile    TickCountQuad;
    518         KSYSTEM_TIME volatile TickCount;
    519         struct
    520         {
    521             ULONG           ReservedTickCountOverlay[3];
    522             ULONG           TickCountPad[1];
     511    ULONG                   DataFlagsPad[1];                            /**< 0x2f4 */
     512    ULONGLONG               TestRetInstruction;                         /**< 0x2f8 */
     513    LONGLONG                QpcFrequency;                               /**< 0x300 */
     514    ULONGLONG               SystemCallPad[3];                           /**< 0x308 */
     515    union                                                               /**< 0x320 */
     516    {
     517        ULONG64 volatile    TickCountQuad;                              /**< 0x320 */
     518        KSYSTEM_TIME volatile TickCount;                                /**< 0x320 */
     519        struct                                                          /**< 0x320 */
     520        {
     521            ULONG           ReservedTickCountOverlay[3];                /**< 0x320 */
     522            ULONG           TickCountPad[1];                            /**< 0x32c */
    523523        };
    524524    };
    525     ULONG                   Cookie;
    526     ULONG                   CookiePad[1];
    527     LONGLONG                ConsoleSessionForegroundProcessId;
    528     ULONGLONG               TimeUpdateLock;
    529     ULONGLONG               BaselineSystemTimeQpc;
    530     ULONGLONG               BaselineInterruptTimeQpc;
    531     ULONGLONG               QpcSystemTimeIncrement;
    532     ULONGLONG               QpcInterruptTimeIncrement;
    533     ULONG                   QpcSystemTimeIncrement32;
    534     ULONG                   QpcInterruptTimeIncrement32;
    535     UCHAR                   QpcSystemTimeIncrementShift;
    536     UCHAR                   QpcInterruptTimeIncrementShift;
    537     UCHAR                   Reserved8[14];
    538     USHORT                  UserModeGlobalLogger[16];
    539     ULONG                   ImageFileExecutionOptions;
    540     ULONG                   LangGenerationCount;
    541     ULONGLONG               Reserved4;
    542     ULONGLONG volatile      InterruptTimeBias;
    543     ULONGLONG volatile      QpcBias;
    544     ULONG volatile          ActiveProcessorCount;
    545     UCHAR volatile          ActiveGroupCount;
    546     UCHAR                   Reserved9;
    547     union
    548     {
    549         USHORT              QpcData;
    550         struct
    551         {
    552             BOOLEAN volatile QpcBypassEnabled;
    553             UCHAR           QpcShift;
     525    ULONG                   Cookie;                                     /**< 0x330 */
     526    ULONG                   CookiePad[1];                               /**< 0x334 */
     527    LONGLONG                ConsoleSessionForegroundProcessId;          /**< 0x338 */
     528    ULONGLONG               TimeUpdateLock;                             /**< 0x340 */
     529    ULONGLONG               BaselineSystemTimeQpc;                      /**< 0x348 */
     530    ULONGLONG               BaselineInterruptTimeQpc;                   /**< 0x350 */
     531    ULONGLONG               QpcSystemTimeIncrement;                     /**< 0x358 */
     532    ULONGLONG               QpcInterruptTimeIncrement;                  /**< 0x360 */
     533    ULONG                   QpcSystemTimeIncrement32;                   /**< 0x368 */
     534    ULONG                   QpcInterruptTimeIncrement32;                /**< 0x36c */
     535    UCHAR                   QpcSystemTimeIncrementShift;                /**< 0x370 */
     536    UCHAR                   QpcInterruptTimeIncrementShift;             /**< 0x371 */
     537    UCHAR                   Reserved8[14];                              /**< 0x372 */
     538    USHORT                  UserModeGlobalLogger[16];                   /**< 0x380 */
     539    ULONG                   ImageFileExecutionOptions;                  /**< 0x3a0 */
     540    ULONG                   LangGenerationCount;                        /**< 0x3a4 */
     541    ULONGLONG               Reserved4;                                  /**< 0x3a8 */
     542    ULONGLONG volatile      InterruptTimeBias;                          /**< 0x3b0 */
     543    ULONGLONG volatile      QpcBias;                                    /**< 0x3b8 */
     544    ULONG volatile          ActiveProcessorCount;                       /**< 0x3c0 */
     545    UCHAR volatile          ActiveGroupCount;                           /**< 0x3c4 */
     546    UCHAR                   Reserved9;                                  /**< 0x3c5 */
     547    union                                                               /**< 0x3c6 */
     548    {
     549        USHORT              QpcData;                                    /**< 0x3c6 */
     550        struct                                                          /**< 0x3c6 */
     551        {
     552            BOOLEAN volatile QpcBypassEnabled;                          /**< 0x3c6 */
     553            UCHAR           QpcShift;                                   /**< 0x3c7 */
    554554        };
    555555    };
    556     LARGE_INTEGER           TimeZoneBiasEffectiveStart;
    557     LARGE_INTEGER           TimeZoneBiasEffectiveEnd;
    558     XSTATE_CONFIGURATION    XState;
     556    LARGE_INTEGER           TimeZoneBiasEffectiveStart;                 /**< 0x3c8 */
     557    LARGE_INTEGER           TimeZoneBiasEffectiveEnd;                   /**< 0x3d0 */
     558    XSTATE_CONFIGURATION    XState;                                     /**< 0x3d8 */
    559559} KUSER_SHARED_DATA;
    560560typedef KUSER_SHARED_DATA *PKUSER_SHARED_DATA;
     561#endif /* IPRT_NT_USE_WINTERNL */
     562AssertCompileMemberOffset(KUSER_SHARED_DATA, InterruptTime,             0x008);
     563AssertCompileMemberOffset(KUSER_SHARED_DATA, SystemTime,                0x014);
     564AssertCompileMemberOffset(KUSER_SHARED_DATA, NtSystemRoot,              0x030);
     565AssertCompileMemberOffset(KUSER_SHARED_DATA, LargePageMinimum,          0x244);
     566AssertCompileMemberOffset(KUSER_SHARED_DATA, Reserved1,                 0x2b4);
     567AssertCompileMemberOffset(KUSER_SHARED_DATA, TestRetInstruction,        0x2f8);
     568AssertCompileMemberOffset(KUSER_SHARED_DATA, Cookie,                    0x330);
     569AssertCompileMemberOffset(KUSER_SHARED_DATA, ImageFileExecutionOptions, 0x3a0);
     570#ifdef IPRT_NT_USE_WINTERNL
     571AssertCompileMemberOffset(KUSER_SHARED_DATA, XState,                    0x3d8);
    561572#endif /* IPRT_NT_USE_WINTERNL */
    562573/** @} */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette