mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Adding ctypes_generation for PROC_THREAD_ATTRIBUTE_X
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
// We have a rare case of defines that depends on an enum
|
||||
// Which is PROC_THREAD_ATTRIBUTE_NUM
|
||||
// So i Will just define a copy of those as define here
|
||||
// Define version copied from: https://github.com/winsiderss/systeminformer/blob/master/phnt/include/ntpsapi.h#L2666
|
||||
// Thx to them, as always :)
|
||||
|
||||
#define ProcThreadAttributeParentProcess 0 // in HANDLE
|
||||
#define ProcThreadAttributeExtendedFlags 1 // in ULONG (EXTENDED_PROCESS_CREATION_FLAG_*)
|
||||
#define ProcThreadAttributeHandleList 2 // in HANDLE[]
|
||||
#define ProcThreadAttributeGroupAffinity 3 // in GROUP_AFFINITY // since WIN7
|
||||
#define ProcThreadAttributePreferredNode 4 // in USHORT
|
||||
#define ProcThreadAttributeIdealProcessor 5 // in PROCESSOR_NUMBER
|
||||
#define ProcThreadAttributeUmsThread 6 // in UMS_CREATE_THREAD_ATTRIBUTES
|
||||
#define ProcThreadAttributeMitigationPolicy 7 // in ULONG, ULONG64, or ULONG64[2]
|
||||
#define ProcThreadAttributePackageFullName 8 // in WCHAR[] // since WIN8
|
||||
#define ProcThreadAttributeSecurityCapabilities 9 // in SECURITY_CAPABILITIES
|
||||
#define ProcThreadAttributeConsoleReference 10 // BaseGetConsoleReference (kernelbase.dll)
|
||||
#define ProcThreadAttributeProtectionLevel 11 // in ULONG (PROTECTION_LEVEL_*) // since WINBLUE
|
||||
#define ProcThreadAttributeOsMaxVersionTested 12 // in MAXVERSIONTESTED_INFO // since THRESHOLD // (from exe.manifest)
|
||||
#define ProcThreadAttributeJobList 13 // in HANDLE[]
|
||||
#define ProcThreadAttributeChildProcessPolicy 14 // in ULONG (PROCESS_CREATION_CHILD_PROCESS_*) // since THRESHOLD2
|
||||
#define ProcThreadAttributeAllApplicationPackagesPolicy 15 // in ULONG (PROCESS_CREATION_ALL_APPLICATION_PACKAGES_*) // since REDSTONE
|
||||
#define ProcThreadAttributeWin32kFilter 16 // in WIN32K_SYSCALL_FILTER
|
||||
#define ProcThreadAttributeSafeOpenPromptOriginClaim 17 // in SE_SAFE_OPEN_PROMPT_RESULTS
|
||||
#define ProcThreadAttributeDesktopAppPolicy 18 // in ULONG (PROCESS_CREATION_DESKTOP_APP_*) // since RS2
|
||||
#define ProcThreadAttributeBnoIsolation 19 // in PROC_THREAD_BNOISOLATION_ATTRIBUTE
|
||||
#define ProcThreadAttributePseudoConsole 22 // in HANDLE (HPCON) // since RS5
|
||||
#define ProcThreadAttributeIsolationManifest 23 // in ISOLATION_MANIFEST_PROPERTIES // rev (diversenok) // since 19H2+
|
||||
#define ProcThreadAttributeMitigationAuditPolicy 24 // in ULONG, ULONG64, or ULONG64[2] // since 21H1
|
||||
#define ProcThreadAttributeMachineType 25 // in USHORT // since 21H2
|
||||
#define ProcThreadAttributeComponentFilter 26 // in ULONG
|
||||
#define ProcThreadAttributeEnableOptionalXStateFeatures 27 // in ULONG64 // since WIN11
|
||||
#define ProcThreadAttributeCreateStore 28 // ULONG // rev (diversenok)
|
||||
#define ProcThreadAttributeTrustedApp 29
|
||||
#define ProcThreadAttributeSveVectorLength 30
|
||||
|
||||
// Real definition of value usef by API
|
||||
// From: https://github.com/microsoft/win32metadata/blob/6af96d8470751e13a4e3f579f84b7b8b3ca398e1/generation/WinSDK/RecompiledIdlHeaders/um/WinBase.h#L3568
|
||||
// macro ProcThreadAttributeValue is recoded in python in template.py
|
||||
// I replace TRUE by True && FALSE by False for native python compat :)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000FFFF
|
||||
#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000 // Attribute may be used with thread creation
|
||||
#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000 // Attribute is input only
|
||||
#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000 // Attribute may be "accumulated," e.g. bitmasks,
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeParentProcess, False, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeHandleList, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeGroupAffinity, True, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE \
|
||||
ProcThreadAttributeValue (ProcThreadAttributePreferredNode, False, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeIdealProcessor, True, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_UMS_THREAD \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeUmsThread, True, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeMitigationPolicy, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeProtectionLevel, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE \
|
||||
ProcThreadAttributeValue (ProcThreadAttributePseudoConsole, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_MACHINE_TYPE \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeMachineType, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeEnableOptionalXStateFeatures, True, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeSveVectorLength, False, True, False)
|
||||
@@ -24,3 +24,19 @@ def CTL_CODE(DeviceType, Function, Method, Access):
|
||||
|
||||
def HRESULT_FACILITY(hr):
|
||||
return (((hr) >> 16) & 0x1fff)
|
||||
|
||||
# https://github.com/microsoft/win32metadata/blob/6af96d8470751e13a4e3f579f84b7b8b3ca398e1/generation/WinSDK/RecompiledIdlHeaders/um/WinBase.h#L3562
|
||||
# Original MACRO:
|
||||
|
||||
#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \
|
||||
# (((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \
|
||||
# ((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \
|
||||
# ((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \
|
||||
# ((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0))
|
||||
|
||||
def ProcThreadAttributeValue(Number, Thread, Input, Additive):
|
||||
return ((Number & PROC_THREAD_ATTRIBUTE_NUMBER) |
|
||||
(Thread and PROC_THREAD_ATTRIBUTE_THREAD) |
|
||||
(Input and PROC_THREAD_ATTRIBUTE_INPUT) |
|
||||
(Additive and PROC_THREAD_ATTRIBUTE_ADDITIVE))
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
|
||||
ProcThreadAttributeParentProcess = 0,
|
||||
ProcThreadAttributeHandleList = 2,
|
||||
ProcThreadAttributeGroupAffinity = 3,
|
||||
ProcThreadAttributePreferredNode = 4,
|
||||
ProcThreadAttributeIdealProcessor = 5,
|
||||
ProcThreadAttributeUmsThread = 6,
|
||||
ProcThreadAttributeMitigationPolicy = 7,
|
||||
ProcThreadAttributeSecurityCapabilities = 9,
|
||||
ProcThreadAttributeProtectionLevel = 11,
|
||||
ProcThreadAttributeJobList = 13,
|
||||
ProcThreadAttributeChildProcessPolicy = 14,
|
||||
ProcThreadAttributeAllApplicationPackagesPolicy = 15,
|
||||
ProcThreadAttributeWin32kFilter = 16,
|
||||
ProcThreadAttributeSafeOpenPromptOriginClaim = 17,
|
||||
ProcThreadAttributeDesktopAppPolicy = 18,
|
||||
ProcThreadAttributePseudoConsole = 22,
|
||||
ProcThreadAttributeMitigationAuditPolicy = 24,
|
||||
ProcThreadAttributeMachineType = 25,
|
||||
ProcThreadAttributeComponentFilter = 26,
|
||||
ProcThreadAttributeEnableOptionalXStateFeatures = 27,
|
||||
ProcThreadAttributeTrustedApp = 29,
|
||||
ProcThreadAttributeSveVectorLength = 30,
|
||||
} PROC_THREAD_ATTRIBUTE_NUM;
|
||||
@@ -1145,6 +1145,52 @@ WinDef
|
||||
.. autodata:: NMPWAIT_WAIT_FOREVER
|
||||
.. autodata:: NMPWAIT_NOWAIT
|
||||
.. autodata:: NMPWAIT_USE_DEFAULT_WAIT
|
||||
.. autodata:: ProcThreadAttributeParentProcess
|
||||
.. autodata:: ProcThreadAttributeExtendedFlags
|
||||
.. autodata:: ProcThreadAttributeHandleList
|
||||
.. autodata:: ProcThreadAttributeGroupAffinity
|
||||
.. autodata:: ProcThreadAttributePreferredNode
|
||||
.. autodata:: ProcThreadAttributeIdealProcessor
|
||||
.. autodata:: ProcThreadAttributeUmsThread
|
||||
.. autodata:: ProcThreadAttributeMitigationPolicy
|
||||
.. autodata:: ProcThreadAttributePackageFullName
|
||||
.. autodata:: ProcThreadAttributeSecurityCapabilities
|
||||
.. autodata:: ProcThreadAttributeConsoleReference
|
||||
.. autodata:: ProcThreadAttributeProtectionLevel
|
||||
.. autodata:: ProcThreadAttributeOsMaxVersionTested
|
||||
.. autodata:: ProcThreadAttributeJobList
|
||||
.. autodata:: ProcThreadAttributeChildProcessPolicy
|
||||
.. autodata:: ProcThreadAttributeAllApplicationPackagesPolicy
|
||||
.. autodata:: ProcThreadAttributeWin32kFilter
|
||||
.. autodata:: ProcThreadAttributeSafeOpenPromptOriginClaim
|
||||
.. autodata:: ProcThreadAttributeDesktopAppPolicy
|
||||
.. autodata:: ProcThreadAttributeBnoIsolation
|
||||
.. autodata:: ProcThreadAttributePseudoConsole
|
||||
.. autodata:: ProcThreadAttributeIsolationManifest
|
||||
.. autodata:: ProcThreadAttributeMitigationAuditPolicy
|
||||
.. autodata:: ProcThreadAttributeMachineType
|
||||
.. autodata:: ProcThreadAttributeComponentFilter
|
||||
.. autodata:: ProcThreadAttributeEnableOptionalXStateFeatures
|
||||
.. autodata:: ProcThreadAttributeCreateStore
|
||||
.. autodata:: ProcThreadAttributeTrustedApp
|
||||
.. autodata:: ProcThreadAttributeSveVectorLength
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_NUMBER
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_THREAD
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_INPUT
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_ADDITIVE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PARENT_PROCESS
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_HANDLE_LIST
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PREFERRED_NODE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_UMS_THREAD
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_MACHINE_TYPE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH
|
||||
.. autodata:: PROCESSOR_INTEL_386
|
||||
.. autodata:: PROCESSOR_INTEL_486
|
||||
.. autodata:: PROCESSOR_INTEL_PENTIUM
|
||||
|
||||
@@ -29438,6 +29438,81 @@ _KEY_INFORMATION_CLASS
|
||||
|
||||
.. attribute:: MaxKeyInfoClass(10)
|
||||
|
||||
_PROC_THREAD_ATTRIBUTE_NUM
|
||||
''''''''''''''''''''''''''
|
||||
.. class:: PROC_THREAD_ATTRIBUTE_NUM
|
||||
|
||||
Alias for :class:`_PROC_THREAD_ATTRIBUTE_NUM`
|
||||
|
||||
|
||||
.. class:: _PROC_THREAD_ATTRIBUTE_NUM
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeParentProcess(0)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeHandleList(2)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeGroupAffinity(3)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributePreferredNode(4)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeIdealProcessor(5)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeUmsThread(6)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeMitigationPolicy(7)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeSecurityCapabilities(9)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeProtectionLevel(11)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeJobList(13)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeChildProcessPolicy(14)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeAllApplicationPackagesPolicy(15)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeWin32kFilter(16)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeSafeOpenPromptOriginClaim(17)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeDesktopAppPolicy(18)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributePseudoConsole(22)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeMitigationAuditPolicy(24)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeMachineType(25)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeComponentFilter(26)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeEnableOptionalXStateFeatures(27)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeTrustedApp(29)
|
||||
|
||||
|
||||
.. attribute:: ProcThreadAttributeSveVectorLength(30)
|
||||
|
||||
_MEMORY_INFORMATION_CLASS
|
||||
'''''''''''''''''''''''''
|
||||
.. class:: MEMORY_INFORMATION_CLASS
|
||||
|
||||
@@ -156,6 +156,9 @@ def test_HRESULT_FACILITY_macro():
|
||||
# RPC_E_INVALID_HEADER(0x80010111)
|
||||
assert gdef.HRESULT_FACILITY(gdef.RPC_E_INVALID_HEADER) == gdef.FACILITY_RPC == 1
|
||||
|
||||
def test_ProcThreadAttributeValue_results():
|
||||
assert gdef.PROC_THREAD_ATTRIBUTE_PARENT_PROCESS == 0x20000
|
||||
assert gdef.PROC_THREAD_ATTRIBUTE_MACHINE_TYPE == 0x20019
|
||||
|
||||
# typedef struct _DnsRecordFlags
|
||||
# {
|
||||
|
||||
@@ -2481,6 +2481,23 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'PROCESS_VM_OPERATION',
|
||||
'PROCESS_VM_READ',
|
||||
'PROCESS_VM_WRITE',
|
||||
'PROC_THREAD_ATTRIBUTE_ADDITIVE',
|
||||
'PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES',
|
||||
'PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY',
|
||||
'PROC_THREAD_ATTRIBUTE_HANDLE_LIST',
|
||||
'PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR',
|
||||
'PROC_THREAD_ATTRIBUTE_INPUT',
|
||||
'PROC_THREAD_ATTRIBUTE_MACHINE_TYPE',
|
||||
'PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY',
|
||||
'PROC_THREAD_ATTRIBUTE_NUMBER',
|
||||
'PROC_THREAD_ATTRIBUTE_PARENT_PROCESS',
|
||||
'PROC_THREAD_ATTRIBUTE_PREFERRED_NODE',
|
||||
'PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL',
|
||||
'PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE',
|
||||
'PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES',
|
||||
'PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH',
|
||||
'PROC_THREAD_ATTRIBUTE_THREAD',
|
||||
'PROC_THREAD_ATTRIBUTE_UMS_THREAD',
|
||||
'PRODUCT_BUSINESS',
|
||||
'PRODUCT_BUSINESS_N',
|
||||
'PRODUCT_CLUSTER_SERVER',
|
||||
@@ -2590,6 +2607,35 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'PROV_RSA_SIG',
|
||||
'PROV_SPYRUS_LYNKS',
|
||||
'PROV_SSL',
|
||||
'ProcThreadAttributeAllApplicationPackagesPolicy',
|
||||
'ProcThreadAttributeBnoIsolation',
|
||||
'ProcThreadAttributeChildProcessPolicy',
|
||||
'ProcThreadAttributeComponentFilter',
|
||||
'ProcThreadAttributeConsoleReference',
|
||||
'ProcThreadAttributeCreateStore',
|
||||
'ProcThreadAttributeDesktopAppPolicy',
|
||||
'ProcThreadAttributeEnableOptionalXStateFeatures',
|
||||
'ProcThreadAttributeExtendedFlags',
|
||||
'ProcThreadAttributeGroupAffinity',
|
||||
'ProcThreadAttributeHandleList',
|
||||
'ProcThreadAttributeIdealProcessor',
|
||||
'ProcThreadAttributeIsolationManifest',
|
||||
'ProcThreadAttributeJobList',
|
||||
'ProcThreadAttributeMachineType',
|
||||
'ProcThreadAttributeMitigationAuditPolicy',
|
||||
'ProcThreadAttributeMitigationPolicy',
|
||||
'ProcThreadAttributeOsMaxVersionTested',
|
||||
'ProcThreadAttributePackageFullName',
|
||||
'ProcThreadAttributeParentProcess',
|
||||
'ProcThreadAttributePreferredNode',
|
||||
'ProcThreadAttributeProtectionLevel',
|
||||
'ProcThreadAttributePseudoConsole',
|
||||
'ProcThreadAttributeSafeOpenPromptOriginClaim',
|
||||
'ProcThreadAttributeSecurityCapabilities',
|
||||
'ProcThreadAttributeSveVectorLength',
|
||||
'ProcThreadAttributeTrustedApp',
|
||||
'ProcThreadAttributeUmsThread',
|
||||
'ProcThreadAttributeWin32kFilter',
|
||||
'READ_CONTROL',
|
||||
'REALTIME_PRIORITY_CLASS',
|
||||
'REG_BINARY',
|
||||
@@ -14341,6 +14387,7 @@ enums = {'ACCESS_MODE',
|
||||
'PROCESSINFOCLASS',
|
||||
'PROCESS_INFORMATION_CLASS',
|
||||
'PROCESS_MITIGATION_POLICY',
|
||||
'PROC_THREAD_ATTRIBUTE_NUM',
|
||||
'PSECURITY_IMPERSONATION_LEVEL',
|
||||
'PSID_NAME_USE',
|
||||
'PTHREAD_INFORMATION_CLASS',
|
||||
@@ -14452,6 +14499,7 @@ enums = {'ACCESS_MODE',
|
||||
'_PROCESSINFOCLASS',
|
||||
'_PROCESS_INFORMATION_CLASS',
|
||||
'_PROCESS_MITIGATION_POLICY',
|
||||
'_PROC_THREAD_ATTRIBUTE_NUM',
|
||||
'_READ_DIRECTORY_NOTIFY_INFORMATION_CLASS',
|
||||
'_RTL_PATH_TYPE',
|
||||
'_SC_ENUM_TYPE',
|
||||
|
||||
@@ -24,6 +24,22 @@ def CTL_CODE(DeviceType, Function, Method, Access):
|
||||
|
||||
def HRESULT_FACILITY(hr):
|
||||
return (((hr) >> 16) & 0x1fff)
|
||||
|
||||
# https://github.com/microsoft/win32metadata/blob/6af96d8470751e13a4e3f579f84b7b8b3ca398e1/generation/WinSDK/RecompiledIdlHeaders/um/WinBase.h#L3562
|
||||
# Original MACRO:
|
||||
|
||||
#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \
|
||||
# (((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \
|
||||
# ((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \
|
||||
# ((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \
|
||||
# ((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0))
|
||||
|
||||
def ProcThreadAttributeValue(Number, Thread, Input, Additive):
|
||||
return ((Number & PROC_THREAD_ATTRIBUTE_NUMBER) |
|
||||
(Thread and PROC_THREAD_ATTRIBUTE_THREAD) |
|
||||
(Input and PROC_THREAD_ATTRIBUTE_INPUT) |
|
||||
(Additive and PROC_THREAD_ATTRIBUTE_ADDITIVE))
|
||||
|
||||
from .ntstatus import *
|
||||
from .winerror import *
|
||||
BG_JOB_ENUM_ALL_USERS = make_flag("BG_JOB_ENUM_ALL_USERS", 0x0001)
|
||||
@@ -1169,6 +1185,52 @@ PIPE_UNLIMITED_INSTANCES = make_flag("PIPE_UNLIMITED_INSTANCES", 255)
|
||||
NMPWAIT_WAIT_FOREVER = make_flag("NMPWAIT_WAIT_FOREVER", 0xffffffff)
|
||||
NMPWAIT_NOWAIT = make_flag("NMPWAIT_NOWAIT", 0x00000001)
|
||||
NMPWAIT_USE_DEFAULT_WAIT = make_flag("NMPWAIT_USE_DEFAULT_WAIT", 0x00000000)
|
||||
ProcThreadAttributeParentProcess = make_flag("ProcThreadAttributeParentProcess", 0)
|
||||
ProcThreadAttributeExtendedFlags = make_flag("ProcThreadAttributeExtendedFlags", 1)
|
||||
ProcThreadAttributeHandleList = make_flag("ProcThreadAttributeHandleList", 2)
|
||||
ProcThreadAttributeGroupAffinity = make_flag("ProcThreadAttributeGroupAffinity", 3)
|
||||
ProcThreadAttributePreferredNode = make_flag("ProcThreadAttributePreferredNode", 4)
|
||||
ProcThreadAttributeIdealProcessor = make_flag("ProcThreadAttributeIdealProcessor", 5)
|
||||
ProcThreadAttributeUmsThread = make_flag("ProcThreadAttributeUmsThread", 6)
|
||||
ProcThreadAttributeMitigationPolicy = make_flag("ProcThreadAttributeMitigationPolicy", 7)
|
||||
ProcThreadAttributePackageFullName = make_flag("ProcThreadAttributePackageFullName", 8)
|
||||
ProcThreadAttributeSecurityCapabilities = make_flag("ProcThreadAttributeSecurityCapabilities", 9)
|
||||
ProcThreadAttributeConsoleReference = make_flag("ProcThreadAttributeConsoleReference", 10)
|
||||
ProcThreadAttributeProtectionLevel = make_flag("ProcThreadAttributeProtectionLevel", 11)
|
||||
ProcThreadAttributeOsMaxVersionTested = make_flag("ProcThreadAttributeOsMaxVersionTested", 12)
|
||||
ProcThreadAttributeJobList = make_flag("ProcThreadAttributeJobList", 13)
|
||||
ProcThreadAttributeChildProcessPolicy = make_flag("ProcThreadAttributeChildProcessPolicy", 14)
|
||||
ProcThreadAttributeAllApplicationPackagesPolicy = make_flag("ProcThreadAttributeAllApplicationPackagesPolicy", 15)
|
||||
ProcThreadAttributeWin32kFilter = make_flag("ProcThreadAttributeWin32kFilter", 16)
|
||||
ProcThreadAttributeSafeOpenPromptOriginClaim = make_flag("ProcThreadAttributeSafeOpenPromptOriginClaim", 17)
|
||||
ProcThreadAttributeDesktopAppPolicy = make_flag("ProcThreadAttributeDesktopAppPolicy", 18)
|
||||
ProcThreadAttributeBnoIsolation = make_flag("ProcThreadAttributeBnoIsolation", 19)
|
||||
ProcThreadAttributePseudoConsole = make_flag("ProcThreadAttributePseudoConsole", 22)
|
||||
ProcThreadAttributeIsolationManifest = make_flag("ProcThreadAttributeIsolationManifest", 23)
|
||||
ProcThreadAttributeMitigationAuditPolicy = make_flag("ProcThreadAttributeMitigationAuditPolicy", 24)
|
||||
ProcThreadAttributeMachineType = make_flag("ProcThreadAttributeMachineType", 25)
|
||||
ProcThreadAttributeComponentFilter = make_flag("ProcThreadAttributeComponentFilter", 26)
|
||||
ProcThreadAttributeEnableOptionalXStateFeatures = make_flag("ProcThreadAttributeEnableOptionalXStateFeatures", 27)
|
||||
ProcThreadAttributeCreateStore = make_flag("ProcThreadAttributeCreateStore", 28)
|
||||
ProcThreadAttributeTrustedApp = make_flag("ProcThreadAttributeTrustedApp", 29)
|
||||
ProcThreadAttributeSveVectorLength = make_flag("ProcThreadAttributeSveVectorLength", 30)
|
||||
PROC_THREAD_ATTRIBUTE_NUMBER = make_flag("PROC_THREAD_ATTRIBUTE_NUMBER", 0x0000FFFF)
|
||||
PROC_THREAD_ATTRIBUTE_THREAD = make_flag("PROC_THREAD_ATTRIBUTE_THREAD", 0x00010000)
|
||||
PROC_THREAD_ATTRIBUTE_INPUT = make_flag("PROC_THREAD_ATTRIBUTE_INPUT", 0x00020000)
|
||||
PROC_THREAD_ATTRIBUTE_ADDITIVE = make_flag("PROC_THREAD_ATTRIBUTE_ADDITIVE", 0x00040000)
|
||||
PROC_THREAD_ATTRIBUTE_PARENT_PROCESS = make_flag("PROC_THREAD_ATTRIBUTE_PARENT_PROCESS", ProcThreadAttributeValue ( ProcThreadAttributeParentProcess , False , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_HANDLE_LIST = make_flag("PROC_THREAD_ATTRIBUTE_HANDLE_LIST", ProcThreadAttributeValue ( ProcThreadAttributeHandleList , False , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY = make_flag("PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY", ProcThreadAttributeValue ( ProcThreadAttributeGroupAffinity , True , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_PREFERRED_NODE = make_flag("PROC_THREAD_ATTRIBUTE_PREFERRED_NODE", ProcThreadAttributeValue ( ProcThreadAttributePreferredNode , False , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR = make_flag("PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR", ProcThreadAttributeValue ( ProcThreadAttributeIdealProcessor , True , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_UMS_THREAD = make_flag("PROC_THREAD_ATTRIBUTE_UMS_THREAD", ProcThreadAttributeValue ( ProcThreadAttributeUmsThread , True , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY = make_flag("PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY", ProcThreadAttributeValue ( ProcThreadAttributeMitigationPolicy , False , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES = make_flag("PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES", ProcThreadAttributeValue ( ProcThreadAttributeSecurityCapabilities , False , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL = make_flag("PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL", ProcThreadAttributeValue ( ProcThreadAttributeProtectionLevel , False , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE = make_flag("PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE", ProcThreadAttributeValue ( ProcThreadAttributePseudoConsole , False , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_MACHINE_TYPE = make_flag("PROC_THREAD_ATTRIBUTE_MACHINE_TYPE", ProcThreadAttributeValue ( ProcThreadAttributeMachineType , False , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES = make_flag("PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES", ProcThreadAttributeValue ( ProcThreadAttributeEnableOptionalXStateFeatures , True , True , False ))
|
||||
PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH = make_flag("PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH", ProcThreadAttributeValue ( ProcThreadAttributeSveVectorLength , False , True , False ))
|
||||
PROCESSOR_INTEL_386 = make_flag("PROCESSOR_INTEL_386", 386)
|
||||
PROCESSOR_INTEL_486 = make_flag("PROCESSOR_INTEL_486", 486)
|
||||
PROCESSOR_INTEL_PENTIUM = make_flag("PROCESSOR_INTEL_PENTIUM", 586)
|
||||
|
||||
@@ -3595,6 +3595,34 @@ class _IMAGE_LOAD_CONFIG_DIRECTORY64(Structure):
|
||||
IMAGE_LOAD_CONFIG_DIRECTORY64 = _IMAGE_LOAD_CONFIG_DIRECTORY64
|
||||
PIMAGE_LOAD_CONFIG_DIRECTORY64 = POINTER(_IMAGE_LOAD_CONFIG_DIRECTORY64)
|
||||
|
||||
ProcThreadAttributeParentProcess = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeParentProcess", 0x0)
|
||||
ProcThreadAttributeHandleList = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeHandleList", 0x2)
|
||||
ProcThreadAttributeGroupAffinity = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeGroupAffinity", 0x3)
|
||||
ProcThreadAttributePreferredNode = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributePreferredNode", 0x4)
|
||||
ProcThreadAttributeIdealProcessor = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeIdealProcessor", 0x5)
|
||||
ProcThreadAttributeUmsThread = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeUmsThread", 0x6)
|
||||
ProcThreadAttributeMitigationPolicy = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeMitigationPolicy", 0x7)
|
||||
ProcThreadAttributeSecurityCapabilities = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeSecurityCapabilities", 0x9)
|
||||
ProcThreadAttributeProtectionLevel = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeProtectionLevel", 0xb)
|
||||
ProcThreadAttributeJobList = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeJobList", 0xd)
|
||||
ProcThreadAttributeChildProcessPolicy = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeChildProcessPolicy", 0xe)
|
||||
ProcThreadAttributeAllApplicationPackagesPolicy = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeAllApplicationPackagesPolicy", 0xf)
|
||||
ProcThreadAttributeWin32kFilter = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeWin32kFilter", 0x10)
|
||||
ProcThreadAttributeSafeOpenPromptOriginClaim = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeSafeOpenPromptOriginClaim", 0x11)
|
||||
ProcThreadAttributeDesktopAppPolicy = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeDesktopAppPolicy", 0x12)
|
||||
ProcThreadAttributePseudoConsole = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributePseudoConsole", 0x16)
|
||||
ProcThreadAttributeMitigationAuditPolicy = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeMitigationAuditPolicy", 0x18)
|
||||
ProcThreadAttributeMachineType = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeMachineType", 0x19)
|
||||
ProcThreadAttributeComponentFilter = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeComponentFilter", 0x1a)
|
||||
ProcThreadAttributeEnableOptionalXStateFeatures = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeEnableOptionalXStateFeatures", 0x1b)
|
||||
ProcThreadAttributeTrustedApp = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeTrustedApp", 0x1d)
|
||||
ProcThreadAttributeSveVectorLength = EnumValue("_PROC_THREAD_ATTRIBUTE_NUM", "ProcThreadAttributeSveVectorLength", 0x1e)
|
||||
class _PROC_THREAD_ATTRIBUTE_NUM(EnumType):
|
||||
values = [ProcThreadAttributeParentProcess, ProcThreadAttributeHandleList, ProcThreadAttributeGroupAffinity, ProcThreadAttributePreferredNode, ProcThreadAttributeIdealProcessor, ProcThreadAttributeUmsThread, ProcThreadAttributeMitigationPolicy, ProcThreadAttributeSecurityCapabilities, ProcThreadAttributeProtectionLevel, ProcThreadAttributeJobList, ProcThreadAttributeChildProcessPolicy, ProcThreadAttributeAllApplicationPackagesPolicy, ProcThreadAttributeWin32kFilter, ProcThreadAttributeSafeOpenPromptOriginClaim, ProcThreadAttributeDesktopAppPolicy, ProcThreadAttributePseudoConsole, ProcThreadAttributeMitigationAuditPolicy, ProcThreadAttributeMachineType, ProcThreadAttributeComponentFilter, ProcThreadAttributeEnableOptionalXStateFeatures, ProcThreadAttributeTrustedApp, ProcThreadAttributeSveVectorLength]
|
||||
mapper = FlagMapper(*values)
|
||||
PROC_THREAD_ATTRIBUTE_NUM = _PROC_THREAD_ATTRIBUTE_NUM
|
||||
|
||||
|
||||
MemoryBasicInformation = EnumValue("_MEMORY_INFORMATION_CLASS", "MemoryBasicInformation", 0x0)
|
||||
MemoryWorkingSetList = EnumValue("_MEMORY_INFORMATION_CLASS", "MemoryWorkingSetList", 0x1)
|
||||
MemorySectionName = EnumValue("_MEMORY_INFORMATION_CLASS", "MemorySectionName", 0x2)
|
||||
|
||||
@@ -6,7 +6,8 @@ from ..error import (fail_on_zero,
|
||||
no_error_check,
|
||||
result_is_handle,
|
||||
succeed_on_zero,
|
||||
fail_on_minus_one)
|
||||
fail_on_minus_one,
|
||||
WinproxyError)
|
||||
|
||||
|
||||
class Kernel32Proxy(ApiProxy):
|
||||
|
||||
Reference in New Issue
Block a user