PDA

View Full Version : [C\C++]WIN API: GetProcAddress


Re_Kotc
18-05-2008, 19:56
Ciao a tutti!, sto cercando di importare una libreria dinamicamente e ho provato a cercare su internet un pò dappertutto ma non riesco a capire come si utilzza GetProcAddress, in particolare nel mio codice :

HMODULE WINAPI library = LoadLibrary("ADVAPI32.DLL");

if(!library) {
MessageBox(NULL, "ADVAPI32.DLL not found", "DLL ERROR", MB_OK);
}
//Caricamento dei moduli delle librerie necessari


BOOLEAN (*RtlGenRandom)(PVOID, ULONG);

a questo punto dovrei in teoria utilizzare getProcAddress, ho capito che passandogli gli argomenti otterrei GetProcAddress(library,"SystemFunction036");

ma non ho idea di come si faccia il casting su getProcAddress..cioè non capisco proprio la parte teorica diciamo!:...sapresti darmi qualche suggerimento?

grazie!

kk3z
19-05-2008, 10:55
typedef BOOLEAN (*NOMEFUNZIONE)(PVOID, ULONG);

NOMEFUNZIONE funzione = (NOMEFUNZIONE)GetProcAddress(modulo, "NomeFunzione");

funzione(qualcosa, qualcosaltro)

Re_Kotc
19-05-2008, 16:21
asp scusa ho fatto un pò di confusione..con "funzione" nel mio caso cosa intendi? library? grazie mille! :)

kk3z
19-05-2008, 22:05
NOMEFUNZIONE funzione è una dichiarazione come qualunque altra, come int numero o ULONG unsignedlong. Con funzione intendo NOMEFUNZIONE funzione

library = modulo (nel codice di prima)

Re_Kotc
22-05-2008, 16:07
ok grazie :D