|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2007
Messaggi: 190
|
[C++] Qualcuno mi spiega queste due istruzioni?
1) lpfEnumProcessModules = (BOOL(WINAPI *)(HANDLE, HMODULE *,
DWORD, LPDWORD)) GetProcAddress( hInstLib, "EnumProcessModules" ) ; 2) BOOL (WINAPI *lpfEnumProcesses)( DWORD *, DWORD cb, DWORD * ); Se qualcuno gentilmente puo' spiegarmi per filo e per segno queste due istruzioni che non ci capisco niente sembrano due intestazioni di funzioni... boh.In rete non ho trovato niente. A cosa servono le DWORD , HANDLE, WINAPI... ? grazie a tutti. |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
la prima è una stupidaggine, non nel senso di cosa facile da capire ma nel senso di cosa stupida, ottusa: cerca di ottenere con la GetProcAddress l'indirizzo della funzione EnumProcessModules, che è regolarmente importata dall'header psapi.h (è inutile fare linking esplicito a run-time quando si può fare linking implicito in compile-time); l'indirizzo restituito dalla GetProcAddress viene memorizzato in una variabile lpfEnumProcessModules (e chissà perché invece non l'ha chiamata EnumProcessModules... perché altrimenti collideva con qualcos'altro forse?
la seconda invece altro non è che la dichiarazione di un'altra variabile analoga alla lpfEnumProcessModules; quest'altra variabile si chiama lpfEnumProcesses e lascia intendere che l'autore idiota abbia fatto questo lavoro di linking esplicito per tutte le PSAPI (ma una versione aggiornata del PSDK no? per ulteriori informazioni circa i tipi Win32: http://msdn2.microsoft.com/en-us/library/aa383751.aspx per ulteriori informazioni invece circa le PSAPI (Process Status API): http://msdn2.microsoft.com/en-us/lib...84(VS.85).aspx |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2007
Messaggi: 190
|
Ciao grazie per l'aiuto finalmente ho trovato un po di documentazione.
Ricapitolando: 1) lpfEnumProcessModules =variabile in cui verra' memorizzato il valore restituito da getprocaddress 2) (BOOL(WINAPI *)(HANDLE, HMODULE *,DWORD, LPDWORD)) = ???? 3) GetProcAddress( hInstLib,"EnumProcessModules" ) ; = Funzione GetProcAddress la 2) che cos'e' ? una specie di supercast ? psdk non so cos'e'... maro' che ignoranza... dove le imparo queste cose? |
|
|
|
|
|
#4 | ||
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
Quote:
|
||
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Dec 2007
Messaggi: 190
|
ah ok grazie
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:50.




















