GetProcAddress に問題があります。関数を 1 つだけ含む単純な DLL を作成しました。
extern "C" LRESULT WINAPI Function(HWND Hwnd, UINT Message,
WPARAM wParam, LPARAM lParam)
{
Beep(1000, 1000);
return CallNextHookEx(0, Message, wParam, lParam);
}
関数のアドレスを取得しようとすると、GetProcAddress が ErrorCode 127 (ERROR_PROC_NOT_FOUND) で失敗します。ただし、関数型として void を使用すると、完全に機能します。なぜこのような振る舞いをするのか、私にはよくわかりません。どんな提案でも大歓迎です!
ところで: DependencyWalker は、関数の名前が実際に「関数」であり、変更が適用されていないことを示しています。