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.