問題タブ [getprocaddress]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
233 参照

c++ - GetProcAddress が null 値を返す

このメソッドを C++ プロジェクト内からエクスポートしました

dumpbin を使用して、そのメソッドの次のマングル名を取得します

ただし、.NET 4.5 プロジェクトにメソッドをインポートすると、エラー 127 が発生します。

これは抽出されたコードの一部に過ぎず、他の方法は問題なく機能します。

0 投票する
1 に答える
558 参照

java - Java JNA: GetProcAddress が null を返す

次のコードは LoadLibraryW を見つけることができません

ここで、GetProcAddress は次のように宣言されています。

誰かが理由を知っていますか?私の間違いは何ですか?ありがとう!

0 投票する
1 に答える
1817 参照

c++ - GetProcAddress を介してエクスポートされた関数を呼び出す c++ WINAPI

関数ポインターを取得して DLL からエクスポートされた関数を呼び出そうとしてGetProcAddressいますが、関数を呼び出すとアプリケーションがクラッシュします。

エクスポートされた関数の名前が正しいかどうかを確認するために、dependencywalker を使用しました。から返されたアドレスはGetProcAddressnull ではありません。呼び出し規約と関係があることはほぼ確実です。私は両方__cdeclを使用し__stdcallましたが、成功しませんでした。GetProcAdressただし、の代わりに使用したいと思います__declspec(dllimport)

DLL #1 (呼び出し元)

  • DLL#2.lib をこの DLL にリンク

    /li>

DLL #2 (エクスポートされた関数を含む DLL)

0 投票する
3 に答える
1443 参照

c++ - 実行時に実行可能ファイルのような DLL を「開始」するにはどうすればよいですか?

起動引数を解析し、いくつかの DLL から "起動" する DLL の 1 つを選択する、非常に小さなプログラムを作成したいと考えています。

DLL として "実行" したいアプリケーションをアプリケーションとして作成し、Visual Studio プロジェクトのプロパティを変更して代わりに DLL としてビルドしました。必要な機能を得るには、LoadLibrary と GetProcAddress を同時に使用する必要があることはわかっていますが、多くのユース ケースは実際にはこの性質のものではないため、これに関する明確で包括的なドキュメントを見つけるのに苦労しています。また、プロジェクトとプラットフォームの制限に基づいて、このルートを使用する必要があります。

私はこのページを見つけました 、いくつかの情報がありますが、私の目的に適応するには十分に明確ではありません.

編集:ここが私が今いるところです。

メイン関数のシグネチャが次のような DLL プロジェクトがあります。

また、DLL をロードして上記の関数を実行しようとするアプリケーション プロジェクトは次のようになります。

typedef int (CALLBACK* LPFNDLLFUNC1)(int, char *);

...

現在、LoadLibrary 呼び出しは機能しますが、GetProcAddress は機能しません。

0 投票する
2 に答える
3325 参照

c++ - NULL を返す GetProcAddress 関数

C++ dll を動的にロードしようとしました。最初に「LoadLibrary」関数を使用して dll をロードし、ハンドルを正しく取得しています。その後、「GetProcAddress」を使用してDLLファイル関数の関数ポインタを取得しようとしましたが、NULLを返しています。私の DLL コードとテスト アプリケーション コードを見つけて、コードのどこが間違っているか教えてください。

ダミー2.h

ダミー2.cpp

ダミー1.cpp

上記のコードを参照して、私を導いてください。