Newsgroup: it.comp.programmare.win32
Titolo: PSAPI ...

Ciao.
Volevo chiedere se è possibile sulle piattaforme Windows NT/2000 ottenere il
numero di thread di un processo e, magari, anche qualche informazione su
questo thread.
Su 9x utilizzavo le ToolHelp con uno snapshot sui thread ...
Saluti.
--
- Carlo -
c.b...@libero.it

questo thread.
Performance Data Helper (e' la solita piaga).
Il Task Manager utilizza le sue API per visualizzare i
dettagli su processi e thread.
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

 dettagli su processi e thread.
Ma il TM di NT visualizza info sui Threads?
Ciao!


Ma il TM di NT visualizza info sui Threads?
Visualizza quanti sono i thread totali e, se vuoi, quanti sono i
thread per ogni singolo processo.  In realta' credo che queste
informazioni siano le uniche che ha senso estrarre.
--
CyberWalkie - walkietalkie(at)
libero.it

dettagli su processi e thread.
magari! ci sto smanettando giusto oggi. Il Task Manager non importa
funzioni da pdh.dll, non usa le ToolHelp (disponibili finalmente anche
per Windows NT, a partire da Windows 2000), non accede al registro
nemmeno di striscio, parte subito con una valanga di OpenProcess e varie
altre, ma nient'altro. Ci sto letteralmente perdendo il sonno...
-- 
Posted from 
mx1.aruba.it
 [62.149.128.130] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 informazioni siano le uniche che ha senso estrarre.
E mi interesserebbero ... in particolare n° thread per processo e magari la
loro priorità ...
Ora cerco su msdn l'articolo ... lo avevo letto tempo addietro, ma non
ricordo + nulla ...


 wrote in message
news:002501c1057b$2ac42b20$829d953e@oemcomputer...


funzioni da pdh.dll, 
Il Task Manager (me lo ha confermato Richter stesso, se ti
puo' interessare) utilizza il Performance Data Helper per le
informazioni avanzate sul consumo di CPU e sul controllo dei
kernel objects.

OpenThread().
Se ti interessa, leggi l'articolo Q127992
http://support.microsoft.com/support/kb/articles/Q127/9/92.asp
Non credo pero' sia molto aggiornato.
p.s.: avete notato in che modo assuro MS abbia complicato la
lettura di MSDN on-line ? 

 ricordo + nulla ...
Se hai MSDN Library installata, puoi cercare:
"Under The Hood"
percorso : Periodicals 1996 (di Matt Pietrek)
Te ne trova 11. Sperando che te li riporti nel mio stesso ordine...
ti posso consigliare la lettura del 6° e del 4°. Iniziano così:
4°:
"In my article "An Exclusive tour of the New TOOLHELP32
Functions for Windows® 95," (MSJ, September 1995),
I described how Windows 95-based programs can easily
access system-level information. The functionality that TOOLHELP32
provides includes process lists, thread lists, module lists, heap lists,
and heap walking."
6°:
"In my March and April 1996 columns, I described the Windows NT
performance data and how you can get information like process lists
and memory statistics from it."
Approfitto del post per chiedere una cosa: esiste un modo per dare
un identificatore univoco di un articolo della MSDN ?
Spesso mi ritrovo a dire "cerca questa stringa, ordinali per Percorso,
leggi il terzo..." :(
Thx & Ciao!
Davide DG.

 Pura curiosità...
Come diceva HJK (abbrevio per semplicità) le PSAPI forniscono la lista dei
moduli di un processo, ovvero la lista dei vari exe/dll caricati nello
spazio di indirizzamento di un processo.
Ora se esegui il TM e poi controlli la lista dei moduli caricati ti accorgi
che la DLL del PDH non è stata caricata.
Ciao


 lettura di MSDN on-line ?
Lo dovrei capire dal fatto che non riesco + a consultare il minimo
documento? :-(


 lettura di MSDN on-line ?
purtroppo si.
già non era facile consultare prima.
ora lo hanno sconvolto del tutto.
si dovrà andare avanti di ricerca...
--
ciao << xaero;

 Non credo pero' sia molto aggiornato.
Infatti... :)
"There is no way to get the thread handle from the thread ID."
Si può fare... eccome se si può fare :)
Ciao, Davide DG

un identificatore univoco di un articolo della MSDN ?
Ogni articolo di MSDN ha un identificativo.

 Ogni articolo di MSDN ha un identificativo.
Err... ammazza che criptico! Dove lo vedo questo identificativo? Una
volta che me ne viene comunicato uno, come lo ricerco?
Cmq c'è anche il pulsantone "Individua" ... al limite dò il "percorso"
completo :)
Ciao. Davide DG.

Pura curiosità...
Dependency Walker:
 
http://www.dependencywalker.com/
NT Registry Monitor:
 
http://www.sysinternals.com/ntw2k/source/regmon.shtml
API Monitor:
 
http://www.rohitab.com/apimonitor/


 Ogni articolo di MSDN ha un identificativo.
menù Vai->Url ?  sembra di sì :) thx.
ciao. Davide DG.

si dovrà andare avanti di ricerca...
Troppo bello se fosse cosi'... 
Ho cercato diverse API e il risultato e' "0 results".
Ma come si fa a consultare il solito PSDK ???

 Ogni articolo di MSDN ha un identificativo.
Umm.. pensavo di averlo trovato (Vai->Url ... ma č relativo alla
propria installazione :(  ).
Cmq posso sempre dare il "percorso" completo, partendo dal sommario ;b
Ciao. Davide DG.

kernel objects.
ma NON per l'enumerazione di processi. Sembra usare, piuttosto,
NtQuerySystemInformation, non documentata, che è l'API nativa usata
anche da PSAPI.DLL (il debugger di Delphi conferma). Su MSDN si legge
"le informazioni fornite dalla PSAPI si possono ottenere anche tramite i
dati sulle prestazioni nel registro", che è fuorviante, perchè fa
sembrare che la PSAPI sia un front-end alla PDH, e invece sorpassa
completamente il meccanismo dei dati prestazioni e ottiene le
informazioni direttamente dal kernel. C'è un articolo a proposito sul
MSJ, e un sito che documenta qualche parametro noto di
NtQuerySystemInformation



spesso con Google, a volte il motore di ricerca interno non vuole
funzionare...


informazioni direttamente dal kernel. 
C'e' un articolo di Richter di qualche tempo fa in cui si fa
esplicito riferimento al PDH a proposito di TM, appena
riesco a capire come funziona la nuova veste di MSDN, lo
rileggo.

Si può fare... eccome se si può fare :)
Perche' ormai esiste OpenThread.

 Perche' ormai esiste OpenThread.
Io intendevo relativamente agli ambienti che menziona l'articolo,
ovvero
Microsoft Windows NT Server versions 3.5, 3.51
Microsoft Windows NT Workstation versions 3.5, 3.51
Microsoft Windows 95
OpenThread non era inclusa in nessuna import library  dell' SDK,
esistono almeno 2 modi per utilizzare questa funzione (dove non si
potrebbe):
1) Crearsi una import library (designtime)
2) Forzare il kernel (runtime) a farsi dare un handle.
? 3) (under testing...) Allocarsi "da soli" un handle al kernel objet thread
  nella tavola degli handle del proprio processo.
? 4) (non può funzionare come metodo sempre valido) : Appropriarsi
  dell'handle (al thread) di qualche altro processo.
Ciao. Davide DG.

 Cmq posso sempre dare il "percorso" completo, partendo dal sommario ;b
Devo avere gli occhi foderati di prosciutto ,.... trovato ;)
D.DG.

 > lettura di MSDN on-line ?
Come dice il Moratti di Mai dire gol:
"Ho già risposto altre volte a questa domanda" ...


 kernel objects.
Sarà, ma la DLL non viene mappata nel suo processo ... almeno io non la vedo


E' errato.
E' obsoleto.
Ti avevo detto che, probabilmente, quell'articolo non era
aggiornato, proprio perche' avevo letto del riferimento a
OpenThread come una funzione non ancora esistente.

dati sulle prestazioni nel registro", che è fuorviante, perchè fa
intenzinalmente fuorviante ?! who know.. >)
Have fun,
p.s. 

p.s. 
umm.. sorry desktop affollato.. ed un click di troppo han fatto il
resto =P
dicevo
Have Fun,
 
WalkerBoh
p.s. 
x Carlo B. .. se ti serve doc / sources sulla meteria dimmi che la
uppo insieme al resto appena mi si libera un po' di tempo =P

che posseggo)..
tanto uso Delphi, a fare l'amanuense c'ho fatto l'abitudine... a
proposito, com'è il libro? (e quanto costa?)


>
www.acc.umu.se/~bosse/ntifs.h
aspetta! questo lo conosco! č quello del ROM-FS, ne ho sentito parlare
nella mailing list di ReactOS...
