Pracuję nad migracją aplikacji Windows z zawsze działającej jako konto SYSTEM
, aby działało jako konto użytkownika z ograniczeniami. Jedną z wielu rzeczy tej aplikacji jest zapytanie Windows Performance Counters w celu zarejestrowania ogólnej pamięci systemowej i użycia procesora. MSDN list of Privilege Constants jest niejasny, ale SE_PROF_SINGLE_PROCESS_NAME
lubuderza mnie jako potencjalnie wymagany do tego rodzaju operacji. Jednak dokumentacja funkcji MSDN takich jak PdhOpenQuery
, PdhAddCounter
i PdhCollectQueryData
nie wspomina żadnych wymaganych uprawnień.Czy są jakieś specjalne uprawnienia zabezpieczające wymagane do odczytu liczników danych wydajności w systemie Windows?
Biorąc to pod uwagę, czy zapytanie o liczniki danych wydajności wymaga jakichkolwiek uprawnień? Ewentualnie, co konkretnie przyznaje dostęp do uprawnień SE_PROF_SINGLE_PROCESS_NAME
lub SE_SYSTEM_PROFILE_NAME
?
Dlaczego po prostu tego nie spróbować? –
Częściowo dlatego, że nie ufam, że moja maszyna działa tak samo, jak każda inna maszyna na tym komputerze (szczególnie Windows XP Embedded i inne, bardziej egzotyczne odmiany), szczególnie dlatego, że mój komputer jest członkiem korporacyjnej domeny Windows. Mam nadzieję, że mogę uczyć się na doświadczeniach innych, którzy odebrali przede mną. Być może brakuje bardziej szczegółowej strony w MSDN. –
Musisz być członkiem grupy Użytkownicy monitora wydajności, aby odczytać liczniki wydajności, ale nie jestem pewien, które uprawnienia to obejmują. –