@@ -590,6 +590,18 @@ PhGetProcessAffinityMask(
590
590
_Out_ PKAFFINITY AffinityMask
591
591
)
592
592
{
593
+ //NTSTATUS status;
594
+ //PROCESS_BASIC_INFORMATION basicInfo;
595
+ //
596
+ //status = PhGetProcessBasicInformation(ProcessHandle, &basicInfo);
597
+ //
598
+ //if (NT_SUCCESS(status))
599
+ //{
600
+ // *AffinityMask = basicInfo.AffinityMask;
601
+ //}
602
+ //
603
+ //return status;
604
+
593
605
return NtQueryInformationProcess (
594
606
ProcessHandle ,
595
607
ProcessAffinityMask ,
@@ -622,7 +634,7 @@ PhSetProcessAffinityMask(
622
634
623
635
FORCEINLINE
624
636
NTSTATUS
625
- PhGetProcessGroupAffinity (
637
+ PhGetProcessGroupInformation (
626
638
_In_ HANDLE ProcessHandle ,
627
639
_Inout_ PUSHORT GroupCount ,
628
640
_Out_ PUSHORT GroupArray
@@ -649,6 +661,37 @@ PhGetProcessGroupAffinity(
649
661
return status ;
650
662
}
651
663
664
+ FORCEINLINE
665
+ NTSTATUS
666
+ PhGetProcessGroupAffinity (
667
+ _In_ HANDLE ProcessHandle ,
668
+ _Out_ PGROUP_AFFINITY GroupAffinity
669
+ )
670
+ {
671
+ return NtQueryInformationProcess (
672
+ ProcessHandle ,
673
+ ProcessAffinityMask ,
674
+ GroupAffinity ,
675
+ sizeof (GROUP_AFFINITY ),
676
+ NULL
677
+ );
678
+ }
679
+
680
+ FORCEINLINE
681
+ NTSTATUS
682
+ PhSetProcessGroupAffinity (
683
+ _In_ HANDLE ProcessHandle ,
684
+ _In_ GROUP_AFFINITY GroupAffinity
685
+ )
686
+ {
687
+ return NtSetInformationProcess (
688
+ ProcessHandle ,
689
+ ProcessAffinityMask ,
690
+ & GroupAffinity ,
691
+ sizeof (GROUP_AFFINITY )
692
+ );
693
+ }
694
+
652
695
FORCEINLINE
653
696
NTSTATUS
654
697
PhGetProcessIsCFGuardEnabled (
@@ -2000,6 +2043,40 @@ PhGetSystemShadowStackInformation(
2000
2043
);
2001
2044
}
2002
2045
2046
+
2047
+ FORCEINLINE
2048
+ NTSTATUS
2049
+ PhGetSystemProcessorPerformanceInformation (
2050
+ _Out_ PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION Buffer ,
2051
+ _In_ ULONG BufferLength
2052
+ )
2053
+ {
2054
+ return NtQuerySystemInformation (
2055
+ SystemProcessorPerformanceInformation ,
2056
+ Buffer ,
2057
+ BufferLength ,
2058
+ NULL
2059
+ );
2060
+ }
2061
+
2062
+ FORCEINLINE
2063
+ NTSTATUS
2064
+ PhGetSystemProcessorPerformanceInformationEx (
2065
+ _In_ USHORT ProcessorGroup ,
2066
+ _Out_ PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION Buffer ,
2067
+ _In_ ULONG BufferLength
2068
+ )
2069
+ {
2070
+ return NtQuerySystemInformationEx (
2071
+ SystemProcessorPerformanceInformation ,
2072
+ & ProcessorGroup ,
2073
+ sizeof (USHORT ),
2074
+ Buffer ,
2075
+ BufferLength ,
2076
+ NULL
2077
+ );
2078
+ }
2079
+
2003
2080
FORCEINLINE
2004
2081
NTSTATUS
2005
2082
PhGetSystemProcessorIdleCycleTime (
@@ -2018,15 +2095,15 @@ PhGetSystemProcessorIdleCycleTime(
2018
2095
FORCEINLINE
2019
2096
NTSTATUS
2020
2097
PhGetSystemProcessorIdleCycleTimeEx (
2021
- _In_ USHORT Group ,
2098
+ _In_ USHORT ProcessorGroup ,
2022
2099
_Out_ PLARGE_INTEGER Buffer ,
2023
2100
_In_ ULONG BufferLength
2024
2101
)
2025
2102
{
2026
2103
return NtQuerySystemInformationEx (
2027
2104
SystemProcessorIdleCycleTimeInformation ,
2028
- & Group ,
2029
- sizeof (Group ),
2105
+ & ProcessorGroup ,
2106
+ sizeof (USHORT ),
2030
2107
Buffer ,
2031
2108
BufferLength ,
2032
2109
NULL
@@ -2051,19 +2128,51 @@ PhGetSystemProcessorCycleTime(
2051
2128
FORCEINLINE
2052
2129
NTSTATUS
2053
2130
PhGetSystemProcessorCycleTimeEx (
2054
- _In_ USHORT Group ,
2131
+ _In_ USHORT ProcessorGroup ,
2055
2132
_Out_ PLARGE_INTEGER Buffer ,
2056
2133
_In_ ULONG BufferLength
2057
2134
)
2058
2135
{
2059
2136
return NtQuerySystemInformationEx (
2060
2137
SystemProcessorCycleTimeInformation ,
2061
- & Group ,
2062
- sizeof (Group ),
2138
+ & ProcessorGroup ,
2139
+ sizeof (USHORT ),
2140
+ Buffer ,
2141
+ BufferLength ,
2142
+ NULL
2143
+ );
2144
+ }
2145
+
2146
+ FORCEINLINE
2147
+ NTSTATUS
2148
+ PhGetSystemInterruptInformation (
2149
+ _Out_ PSYSTEM_INTERRUPT_INFORMATION Buffer ,
2150
+ _In_ ULONG BufferLength
2151
+ )
2152
+ {
2153
+ return NtQuerySystemInformation (
2154
+ SystemInterruptInformation ,
2063
2155
Buffer ,
2064
2156
BufferLength ,
2065
2157
NULL
2066
2158
);
2067
2159
}
2068
2160
2161
+ FORCEINLINE
2162
+ NTSTATUS
2163
+ PhGetSystemInterruptInformationEx (
2164
+ _In_ USHORT ProcessorGroup ,
2165
+ _Out_ PSYSTEM_INTERRUPT_INFORMATION Buffer ,
2166
+ _In_ ULONG BufferLength
2167
+ )
2168
+ {
2169
+ return NtQuerySystemInformationEx (
2170
+ SystemInterruptInformation ,
2171
+ & ProcessorGroup ,
2172
+ sizeof (USHORT ),
2173
+ Buffer ,
2174
+ BufferLength ,
2175
+ NULL
2176
+ );
2177
+ }
2069
2178
#endif
0 commit comments