Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Ich möchte die Funktion NTQuerySystemInformation verwenden welche laut MSDN per Run-Time Dynamic Linking geladen werden muss da keine entsprechende Lib dafür existiert.

Gesagt getan


//typedef DWORD (*NTQUERYSYSTEMINFORMATION)(SYSTEM_INFORMATION_CLASS, void*, ULONG, ULONG*);
typedef DWORD (*NTQUERYSYSTEMINFORMATION)(DWORD, DWORD*, DWORD, void*);

NTQUERYSYSTEMINFORMATION NtQuerySystemInformation;

HMODULE hLib = LoadLibrary("Ntdll.dll");
NtQuerySystemInformation = (NTQUERYSYSTEMINFORMATION)GetProcAddress(hLib,"NtQuerySystemInformation");
[/PHP]

Leider bedkomme ich beim Aufrufen der Funktion später aber einen Fehler das das Value von ESP nicht richtig gespeichert wurde und das normalerweise geschähe wenn man eine Funktion mit einer bestimmten calling convention mit einer anderen aufruft.

Das typedef von NtQuerySystemInformation bzw. dessen Parameter hab ich so aus einem anderen Code den ich im Internet gefunden habe. Wenn ich die erste auskommentierte Variante bentutzte welche exakt die Parameter aus der MSDN verwendet kommt aber der selbe Fehler.

Hat jemand eine Idee dazu bzw. wie lege ich beim Run-Time Dynamic Linking die calling convention fest (geht das überhaupt?)?

Geschrieben

Das hat mit Runtime Dynamic Linking erst mal nichts zu tun. Die Calling Convention ist Teil des Funktionszeigertyps:

typedef NTSTATUS (__stdcall *NTQUERYSYSTEMINFORMATION)(SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PULONG); 

Vermutlich ist in deinem Project __stdcall nicht die Default-Calling-Convention.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...