FormatMessage: Angegebene Prozedur wurde nicht gefunden
-
Hi, was ist an dem Code falsch?
typedef DWORD (PASCAL FAR *FMESSAGE)(DWORD dwflags, LPCVOID lpsource, DWORD dwmessageid, DWORD dwlanguageid, LPTSTR lpbuffer, DWORD nsize, va_list *arguments); HMODULE hmodule; FMESSAGE Formatmessage; hmodule = LoadLibrary("Kernel32.dll"); Formatmessage = (FMESSAGE) GetProcAddress(hmodule, "FormatMessage");Formatmessage zeigt immer auf 0x00000000, GetLastError() gibt als Fehlercode "Angegebene Prozedur wurde nicht gefunden" zurück. Warum?
-
warum willst du die func aus der kernel32.dll exportieren ?// und alles ist erledigt #include <windows.h>
-
Du mußt entweder FormatMessageA oder FormatMessageW importieren (Stichwort UNICODE, Petzold, Kapitel 2).
Außerdem verwendet man für die kernel32.dll nicht LoadLibrary sondern GetModuleHandle, da die Dll sowieso in Deinen Adressraum gemappt ist. Das spart Dir den folgenden Aufruf von FreeLibrary.
-
Wenn du Kernel32.lib gelinkt hast kannst du FormatMessage doch eigentlich direkt aufrufen
