Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-02-2008, 14:15   #1
xsatellitex
Member
 
L'Avatar di xsatellitex
 
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.
xsatellitex è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2008, 15:15   #2
71104
Bannato
 
L'Avatar di 71104
 
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? ) che può poi essere usata per effettuare una chiamata diretta alla funzione.

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
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2008, 17:07   #3
xsatellitex
Member
 
L'Avatar di xsatellitex
 
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?
xsatellitex è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2008, 18:46   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da xsatellitex Guarda i messaggi
2) (BOOL(WINAPI *)(HANDLE, HMODULE *,DWORD, LPDWORD)) = ????
scritta così non è sintatticamente valida; se invece la correggi mettendoci un identificatore dopo l'asterisco allora diventa la dichiarazione di una variabile di tipo "puntatore a funzione con convenzione di chiamata WINAPI (espandi la macro WINAPI e vedi a cosa corrisponde) che ritorna un BOOL e vuole come parametri un HANDLE, un HMODULE, un DWORD, e un LPDWORD".

Quote:
psdk non so cos'e'... maro' che ignoranza... dove le imparo queste cose?
le impari quando impari a programmare su Windows. PSDK sta per Platform SDK (Software Developer's Kit) ed è un pacchetto scaricabile gratuitamente dal sito di Microsoft (le ultime versioni hanno il controllo WGA) singolarmente oppure integrato in Visual C++. esso contiene tutti gli headers, le librerie, i tools, e gli eventuali sorgenti necessari a programmare in Win32, COM, ed MFC/ATL per i nostalgici.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2008, 19:07   #5
xsatellitex
Member
 
L'Avatar di xsatellitex
 
Iscritto dal: Dec 2007
Messaggi: 190
ah ok grazie
xsatellitex è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Avio si prepara ai test del Dimostratore...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v