CLIENTINFO - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTPEBTEB_H
#if (PHNT_MODE != PHNT_MODE_KERNEL)

// private + rev
typedef struct tagCLIENTINFO
{
    ULONG_PTR Flags;                                // Flags for client information.
    ULONG_PTR SpinCount;                            // Spin count or related synchronization value.
    ULONG ExpectedWindowsVersion;                   // Expected Windows version for compatibility.
    ULONG CompatibilityFlags;                       // Compatibility flags for the thread.
    ULONG CompatibilityFlags2;                      // Additional compatibility flags for the thread.
    ULONG ThreadFlags;                              // Thread information flags.
    struct tagDESKTOPINFO* DesktopInfo;             // Pointer to desktop information for the thread.
    PVOID DesktopBaseAddress;                       // Base address for the desktop heap (called ClientDelta before Windows 10 RS2).
    HHOOK CurrentHook;                              // Handle to the currently active Windows hook.
    ULONG InstalledHooks;                           // Bitmask of installed hooks.
    CALLBACKWND CallbackWindow;                     // Structure holding information about a callback window.
    ULONG CurrentHookIndex;                         // Index or identifier for the current hook.
    LONG InDdeCallback;                             // Indicates if the thread is in a DDEML (Dynamic Data Exchange Management Library) callback.
    struct tagCLIENTTHREADINFO* ClientThreadInfo;   // Pointer to thread-specific client information.
    ULONG_PTR HookData;                             // Data associated with hooks.
    ULONG KeyStateCache;                            // Cached key state.
    UCHAR KeyState[8];                              // Array holding the current key state.
    ULONG AsyncKeyCache;                            // Cached asynchronous key state.
    UCHAR AsyncKeyState[8];                         // Array holding asynchronous key state.
    UCHAR AsyncKeyStateRecentDown[8];               // Array tracking recently pressed keys asynchronously.
    HKL KeyboardLayout;                             // Handle to the current keyboard layout.
    USHORT CodePage;                                // Code page used for character encoding.
    UCHAR DbcsCFOld[2];                             // Old DBCS (Double-Byte Character Set) conversion flags.
    UCHAR DbcsCFNew[2];                             // New DBCS conversion flags.
    MSG DbcsCallbackMessage;                        // Message structure for DBCS callbacks.
    PULONG RegisteredWindowClasses;                 // Pointer to registered window classes.
    HANDLE MmcssHandle;                             // Handle for Multimedia Class Scheduler Service (MMCSS).
    ULONG_PTR ExtendedFlags;                        // Extended client information flags.
    DPICONTEXTINFO DpiContextInfo;                  // Per-thread DPI awareness.
} CLIENTINFO, *PCLIENTINFO;

#endif
#endif

View code on GitHub

NtDoc

No description available.