/* * This file is part of the Process Hacker project - https://processhacker.sourceforge.io/ * * You can redistribute this file and/or modify it under the terms of the * Attribution 4.0 International (CC BY 4.0) license. * * You must give appropriate credit, provide a link to the license, and * indicate if changes were made. You may do so in any reasonable manner, but * not in any way that suggests the licensor endorses you or your use. */ #ifndef _PHNT_WINDOWS_H #define _PHNT_WINDOWS_H // This header file provides access to Win32, plus NTSTATUS values and some access mask values. #ifndef CINTERFACE #define CINTERFACE #endif #ifndef COBJMACROS #define COBJMACROS #endif #ifndef INITGUID #define INITGUID #endif #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #ifndef WIN32_NO_STATUS #define WIN32_NO_STATUS #endif #include #include #undef WIN32_NO_STATUS #include #include typedef double DOUBLE; typedef GUID *PGUID; // Desktop access rights #define DESKTOP_ALL_ACCESS \ (DESKTOP_CREATEMENU | DESKTOP_CREATEWINDOW | DESKTOP_ENUMERATE | \ DESKTOP_HOOKCONTROL | DESKTOP_JOURNALPLAYBACK | DESKTOP_JOURNALRECORD | \ DESKTOP_READOBJECTS | DESKTOP_SWITCHDESKTOP | DESKTOP_WRITEOBJECTS | \ STANDARD_RIGHTS_REQUIRED) #define DESKTOP_GENERIC_READ \ (DESKTOP_ENUMERATE | DESKTOP_READOBJECTS | STANDARD_RIGHTS_READ) #define DESKTOP_GENERIC_WRITE \ (DESKTOP_CREATEMENU | DESKTOP_CREATEWINDOW | DESKTOP_HOOKCONTROL | \ DESKTOP_JOURNALPLAYBACK | DESKTOP_JOURNALRECORD | DESKTOP_WRITEOBJECTS | \ STANDARD_RIGHTS_WRITE) #define DESKTOP_GENERIC_EXECUTE \ (DESKTOP_SWITCHDESKTOP | STANDARD_RIGHTS_EXECUTE) // Window station access rights #define WINSTA_GENERIC_READ \ (WINSTA_ENUMDESKTOPS | WINSTA_ENUMERATE | WINSTA_READATTRIBUTES | \ WINSTA_READSCREEN | STANDARD_RIGHTS_READ) #define WINSTA_GENERIC_WRITE \ (WINSTA_ACCESSCLIPBOARD | WINSTA_CREATEDESKTOP | WINSTA_WRITEATTRIBUTES | \ STANDARD_RIGHTS_WRITE) #define WINSTA_GENERIC_EXECUTE \ (WINSTA_ACCESSGLOBALATOMS | WINSTA_EXITWINDOWS | STANDARD_RIGHTS_EXECUTE) // WMI access rights #define WMIGUID_GENERIC_READ \ (WMIGUID_QUERY | WMIGUID_NOTIFICATION | WMIGUID_READ_DESCRIPTION | \ STANDARD_RIGHTS_READ) #define WMIGUID_GENERIC_WRITE \ (WMIGUID_SET | TRACELOG_CREATE_REALTIME | TRACELOG_CREATE_ONDISK | \ STANDARD_RIGHTS_WRITE) #define WMIGUID_GENERIC_EXECUTE \ (WMIGUID_EXECUTE | TRACELOG_GUID_ENABLE | TRACELOG_LOG_EVENT | \ TRACELOG_ACCESS_REALTIME | TRACELOG_REGISTER_GUIDS | \ STANDARD_RIGHTS_EXECUTE) #endif