Einzelnen Beitrag anzeigen

Assarbad
(Gast)

n/a Beiträge
 
#1

Kleine Nachhilfe in C erbeten -> LdrGetProcedureAddress()

  Alt 14. Sep 2003, 11:19
Ich habe einen Funktionstypen:
Code:
typedef PKBDTABLES (*KBDLAYERDESCRIPTOR)(VOID);
... eine Funktion um eine Adresse zu einer Funktion zu bekommen:
Code:
NTSYSAPI
NTSTATUS
NTAPI
LdrGetProcedureAddress(
   IN HANDLE          ModuleHandle,
   IN PANSI_STRING    FunctionName OPTIONAL,
   IN WORD            Ordinal OPTIONAL,
   OUT PVOID         *FunctionAddress
   );
... sowie eine Variable des obigen Funktionstypen:
Code:
KBDLAYERDESCRIPTOR KbdLayerDescriptor;
Ich habe folgendes versucht (funktioniert aber nicht):
Code:
LdrGetProcedureAddress(hModule, &asFunction, 0, (KBDLAYERDESCRIPTOR)KbdLayerDescriptor);
Ich habe nun im letzten Codestück schon probiert den Indirector an alle möglichen und unmöglichen Stellen zu setzen. Leider hat bisher nix geholfen. Hat jemand hier einen Schimmer wie das geht?

Nachtrag:
Mit GetProcAddress() aus der Win32 API ginge das relativ simpel. Steht mir aber nicht zur Verfügung!
Code:
KbdLayerDescriptor = (KBDLAYERDESCRIPTOR)GetProcAddress((HMODULE)hModule, "KbdLayerDescriptor");
Ich komme wohl irgendwo mit Pointer referenzieren und dereferenzieren durcheinander.
  Mit Zitat antworten Zitat