KUSER_SHARED_DATA structure (ntddk.h)

Syntax

typedef struct _KUSER_SHARED_DATA {
  ULONG                         TickCountLowDeprecated;
  ULONG                         TickCountMultiplier;
  KSYSTEM_TIME                  InterruptTime;
  KSYSTEM_TIME                  SystemTime;
  KSYSTEM_TIME                  TimeZoneBias;
  USHORT                        ImageNumberLow;
  USHORT                        ImageNumberHigh;
  WCHAR                         NtSystemRoot[260];
  ULONG                         MaxStackTraceDepth;
  ULONG                         CryptoExponent;
  ULONG                         TimeZoneId;
  ULONG                         LargePageMinimum;
  ULONG                         AitSamplingValue;
  ULONG                         AppCompatFlag;
  ULONGLONG                     RNGSeedVersion;
  ULONG                         GlobalValidationRunlevel;
  LONG                          TimeZoneBiasStamp;
  ULONG                         NtBuildNumber;
  NT_PRODUCT_TYPE               NtProductType;
  BOOLEAN                       ProductTypeIsValid;
  BOOLEAN                       Reserved0[1];
  USHORT                        NativeProcessorArchitecture;
  ULONG                         NtMajorVersion;
  ULONG                         NtMinorVersion;
  BOOLEAN                       ProcessorFeatures[PROCESSOR_FEATURE_MAX];
  ULONG                         Reserved1;
  ULONG                         Reserved3;
  ULONG                         TimeSlip;
  ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;
  ULONG                         BootId;
  LARGE_INTEGER                 SystemExpirationDate;
  ULONG                         SuiteMask;
  BOOLEAN                       KdDebuggerEnabled;
  union {
    UCHAR MitigationPolicies;
    struct {
      UCHAR NXSupportPolicy : 2;
      UCHAR SEHValidationPolicy : 2;
      UCHAR CurDirDevicesSkippedForDlls : 2;
      UCHAR Reserved : 2;
    };
  };
  USHORT                        CyclesPerYield;
  ULONG                         ActiveConsoleId;
  ULONG                         DismountCount;
  ULONG                         ComPlusPackage;
  ULONG                         LastSystemRITEventTickCount;
  ULONG                         NumberOfPhysicalPages;
  BOOLEAN                       SafeBootMode;
  UCHAR                         VirtualizationFlags;
  UCHAR                         Reserved12[2];
  union {
    ULONG SharedDataFlags;
    struct {
      ULONG DbgErrorPortPresent : 1;
      ULONG DbgElevationEnabled : 1;
      ULONG DbgVirtEnabled : 1;
      ULONG DbgInstallerDetectEnabled : 1;
      ULONG DbgLkgEnabled : 1;
      ULONG DbgDynProcessorEnabled : 1;
      ULONG DbgConsoleBrokerEnabled : 1;
      ULONG DbgSecureBootEnabled : 1;
      ULONG DbgMultiSessionSku : 1;
      ULONG DbgMultiUsersInSessionSku : 1;
      ULONG DbgStateSeparationEnabled : 1;
      ULONG SpareBits : 21;
    } DUMMYSTRUCTNAME2;
  } DUMMYUNIONNAME2;
  ULONG                         DataFlagsPad[1];
  ULONGLONG                     TestRetInstruction;
  LONGLONG                      QpcFrequency;
  ULONG                         SystemCall;
  union {
    ULONG AllFlags;
    struct {
      ULONG Win32Process : 1;
      ULONG Sgx2Enclave : 1;
      ULONG VbsBasicEnclave : 1;
      ULONG SpareBits : 29;
    };
  } UserCetAvailableEnvironments;
  ULONGLONG                     SystemCallPad[2];
  union {
    KSYSTEM_TIME TickCount;
    ULONG64      TickCountQuad;
    struct {
      ULONG ReservedTickCountOverlay[3];
      ULONG TickCountPad[1];
    } DUMMYSTRUCTNAME;
  } DUMMYUNIONNAME3;
  ULONG                         Cookie;
  ULONG                         CookiePad[1];
  LONGLONG                      ConsoleSessionForegroundProcessId;
  ULONGLONG                     TimeUpdateLock;
  ULONGLONG                     BaselineSystemTimeQpc;
  ULONGLONG                     BaselineInterruptTimeQpc;
  ULONGLONG                     QpcSystemTimeIncrement;
  ULONGLONG                     QpcInterruptTimeIncrement;
  UCHAR                         QpcSystemTimeIncrementShift;
  UCHAR                         QpcInterruptTimeIncrementShift;
  USHORT                        UnparkedProcessorCount;
  ULONG                         EnclaveFeatureMask[4];
  ULONG                         TelemetryCoverageRound;
  USHORT                        UserModeGlobalLogger[16];
  ULONG                         ImageFileExecutionOptions;
  ULONG                         LangGenerationCount;
  ULONGLONG                     Reserved4;
  ULONGLONG                     InterruptTimeBias;
  ULONGLONG                     QpcBias;
  ULONG                         ActiveProcessorCount;
  UCHAR                         ActiveGroupCount;
  UCHAR                         Reserved9;
  union {
    USHORT QpcData;
    struct {
      UCHAR QpcBypassEnabled;
      UCHAR QpcShift;
    };
  };
  LARGE_INTEGER                 TimeZoneBiasEffectiveStart;
  LARGE_INTEGER                 TimeZoneBiasEffectiveEnd;
  XSTATE_CONFIGURATION          XState;
  KSYSTEM_TIME                  FeatureConfigurationChangeStamp;
  ULONG                         Spare;
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;

Members

TickCountLowDeprecated

TickCountMultiplier

InterruptTime

SystemTime

TimeZoneBias

ImageNumberLow

ImageNumberHigh

NtSystemRoot

MaxStackTraceDepth

CryptoExponent

TimeZoneId

LargePageMinimum

AitSamplingValue

AppCompatFlag

RNGSeedVersion

GlobalValidationRunlevel

TimeZoneBiasStamp

NtBuildNumber

NtProductType

ProductTypeIsValid

Reserved0

NativeProcessorArchitecture

NtMajorVersion

NtMinorVersion

ProcessorFeatures

Reserved1

Reserved3

TimeSlip

AlternativeArchitecture

BootId

SystemExpirationDate

SuiteMask

KdDebuggerEnabled

MitigationPolicies

NXSupportPolicy

SEHValidationPolicy

CurDirDevicesSkippedForDlls

Reserved

CyclesPerYield

ActiveConsoleId

DismountCount

ComPlusPackage

LastSystemRITEventTickCount

NumberOfPhysicalPages

SafeBootMode

VirtualizationFlags

Reserved12

DUMMYUNIONNAME2

DUMMYUNIONNAME2.SharedDataFlags

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgErrorPortPresent

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgElevationEnabled

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgVirtEnabled

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgInstallerDetectEnabled

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgLkgEnabled

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgDynProcessorEnabled

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgConsoleBrokerEnabled

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgSecureBootEnabled

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgMultiSessionSku

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgMultiUsersInSessionSku

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.DbgStateSeparationEnabled

DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.SpareBits

DataFlagsPad

TestRetInstruction

QpcFrequency

SystemCall

UserCetAvailableEnvironments

UserCetAvailableEnvironments.AllFlags

UserCetAvailableEnvironments.Win32Process

UserCetAvailableEnvironments.Sgx2Enclave

UserCetAvailableEnvironments.VbsBasicEnclave

UserCetAvailableEnvironments.SpareBits

SystemCallPad

DUMMYUNIONNAME3

DUMMYUNIONNAME3.TickCount

DUMMYUNIONNAME3.TickCountQuad

DUMMYUNIONNAME3.DUMMYSTRUCTNAME

DUMMYUNIONNAME3.DUMMYSTRUCTNAME.ReservedTickCountOverlay

DUMMYUNIONNAME3.DUMMYSTRUCTNAME.TickCountPad

Cookie

CookiePad

ConsoleSessionForegroundProcessId

TimeUpdateLock

BaselineSystemTimeQpc

BaselineInterruptTimeQpc

QpcSystemTimeIncrement

QpcInterruptTimeIncrement

QpcSystemTimeIncrementShift

QpcInterruptTimeIncrementShift

UnparkedProcessorCount

EnclaveFeatureMask

TelemetryCoverageRound

UserModeGlobalLogger

ImageFileExecutionOptions

LangGenerationCount

Reserved4

InterruptTimeBias

QpcBias

ActiveProcessorCount

ActiveGroupCount

Reserved9

QpcData

QpcBypassEnabled

QpcShift

TimeZoneBiasEffectiveStart

TimeZoneBiasEffectiveEnd

XState

FeatureConfigurationChangeStamp

Spare

Requirements

   
Header ntddk.h