Sto lavorando alla migrazione di un'applicazione Windows da sempre in esecuzione come account SYSTEM
in esecuzione come account utente limitato. Una delle tante cose che questa applicazione fa è la query Windows Performance Counters per registrare la memoria generale del sistema e l'utilizzo della CPU. MSDN list of Privilege Constants è vago, ma SE_PROF_SINGLE_PROCESS_NAME
o SE_SYSTEM_PROFILE_NAME
mi sembra potenzialmente necessario per questo tipo di operazione. Tuttavia, la documentazione di MSDN di funzioni come PdhOpenQuery
, PdhAddCounter
e PdhCollectQueryData
non menziona alcun privilegio richiesto.Sono necessari diritti di protezione speciali per leggere i contatori dei dati sulle prestazioni su Windows?
Dato questo, l'esecuzione di query sui contatori di prestazioni richiede alcun privilegio? In alternativa, a cosa concedono specificatamente i privilegi SE_PROF_SINGLE_PROCESS_NAME
o SE_SYSTEM_PROFILE_NAME
?
Perché non provarlo? –
In parte perché non mi fido della mia macchina per funzionare allo stesso modo di tutte le altre macchine là fuori (specialmente Windows XP Embedded e altre varianti più esotiche), in particolare perché la mia macchina è un membro di un dominio Windows aziendale. Spero di poter imparare dalle esperienze di altri che mi hanno preceduto. Forse c'è una pagina più dettagliata in MSDN che mi è sfuggita. –
È necessario essere membri del gruppo di utenti di Performance Monitor per leggere i contatori delle prestazioni, ma non sono sicuro dei privilegi inclusi. –