問題タブ [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.
c++ - LoadLibraryを使用したSTATUS_STACK_BUFFER_OVERRUN
LoadLibraryを使用してiphlpapi.dllをロードすると、スタックバッファがオーバーランします。どうすればこの問題を解決できますか?!
lib関数のロードと実行は正常に機能していますが、ある時点で、プログラムがSTATUS_STACK_BUFFER_OVERRUN例外をスローします。(いくつかのポイント:文字列操作にコメントすると、数行後にエラーが発生します)
LoadLibraryとGetProcAddress(静的バインディング)を使用しない場合->バッファオーバーランはありません!
ありがとう、挨拶、
leon22
delphi - Delphi で DLL クラス プロシージャ アドレスを取得する
クラス プロシージャのメモリ アドレスが必要な DLL ファイルがあります。DLL ファイルのハンドルを取得していますが、GetProcAddress を使用すると、プロシージャのアドレスを取得できません。プロセス名パラメーターに次の文字列を試しました。
いずれの場合も、プロシージャのメモリ アドレスを取得できませんでした。手順が公開されていることはほぼ確実です。
これを行うための文字列形式は何ですか? 外部プロシージャを指す関数を宣言し、後でアドレスを取得する方が簡単でしょうか? このような:
c++ - GetProcAddressによって返された関数を呼び出す永続的なアクセスエラー
これが私のコードです。それを行うのは簡単なようですが、どういうわけかそれはうまくいきません。関数の最後の呼び出しは常にアクセスエラーで失敗します。
mydll.dllはサードパーティのdllです。ソースコードはありませんが、ヘッダーの関数のプロトタイプは次のとおりです。
mydll.dll自体は、ディレクトリ "C:\ MyDllDir"に格納されている他のいくつかのdllに依存しているため、SetDllDirectoryが呼び出されます。
いくつかの観察:
- バニラのLoadLibraryを機能させることはできませんでしたが
LoadLibraryEx
、引数を使用すると機能するように見えGetLastError
ます(その場合は0
) - 返されたdllのアドレスが奇妙に見える(
0x43900000
) - によって返される関数のアドレス
GetProcAddress
も奇数(0x43902b34
)ですが、DLL Export ViewerはInit関数にオフセットがあると報告します0x00002b34
) - 返された関数を呼び出すと、常にアクセスエラーがスローされます。
_ccdecl
関数の__stdcall
などのすべての組み合わせを試しましtypedef
たが、常に同じエラーが発生します。私はありとなしで試しましたextern C
その他のデータ:
- このc++コードは、管理された環境から呼び出されています
- 私はWindows7、64ビットで実行していますが、管理されていない部分をwin32としてコンパイルしています
私は何が間違っているのですか?どうすればこれをデバッグできますか?依存関係ウォーカーとdllエクスポートビューアを試しましたが、すべて問題ないようです。
c++ - GetProcAddress ヘッダー ファイルのない Class オブジェクト
対応する dll ヘッダー ファイルがなくても、dll からクラス オブジェクトを取得できるはずです!? しかし、ヘッダーファイルから既知の型なしで GetProcAddress のクラスの typedef を作成するにはどうすればよいですか?
例がありますか?
感謝と挨拶
レオン22
c# - .net dll(C#)からの関数メソッドのエクスポートについて
math.dll
そして、私のexeプロジェクトでは、Add()関数を使用したいので、
例1-これは機能しています
例2-これは機能していません
例3-これは機能していません
例(2,3)が機能しないことの間違いはどこにあるのか教えてください。ありがとう。
c++ - C++ の GetProcAddress 関数
皆さん、こんにちは。プロジェクトに DLL をロードしましたが、GetProcAddress 関数を使用するたびに。NULL を返します。私は何をすべきか?「MYDLL.dll」でこの関数( double GetNumber(double x) )を使用します
これが私が使用したコードです:
windows-7 - void 以外の関数では GetProcAddress が機能しない
GetProcAddress に問題があります。関数を 1 つだけ含む単純な DLL を作成しました。
関数のアドレスを取得しようとすると、GetProcAddress が ErrorCode 127 (ERROR_PROC_NOT_FOUND) で失敗します。ただし、関数型として void を使用すると、完全に機能します。なぜこのような振る舞いをするのか、私にはよくわかりません。どんな提案でも大歓迎です!
ところで: DependencyWalker は、関数の名前が実際に「関数」であり、変更が適用されていないことを示しています。
assembly - ASM: LoadLibrary と GetProcAddress
私は初めて ASM を使用しています。続行する前に、これを書いたときにすべてを正しく理解したかどうかを知る必要があります。現在のコードは次のようになります。
0xDEADBEEF はダミーのアドレスで、後でパッチを適用します。何か間違っていることでも?=)
c - GetProcAddressはNULLを返します
DLLの単純な関数を使用する必要があります。ライブラリをロードできますが、GetProcAddressはNULLを返します。名前マングリングは理解できたと思いますが、何か間違ったことをしているのかもしれません。ありがとう(コードは続きます、できるだけ早く必要な他の情報を追加します):
mydll.h
mydll.cpp
main.cppからのコード
c++ - C++サードパーティのDLLファイルを動的にロードする方法
サードパーティのDLLファイルをアプリケーションに統合する必要があります。DLLの.DLLと.pdfのドキュメントしかありません。
これはdllのpdfです:http ://www.whiteboxrobotics.com/Support/pdf/PC-BOT_dotNet_v1.0_documentation.pdf
DLLをツールボックスにドラッグするだけでVisualStudioにロードできますが、コーディングでどのように行われるのか知りたいです。
私はDLLしか持っていないので、LoadLibrary()とGetProcAddress()を使用した動的ロードが唯一のオプションだと思います。
しかし、それはとても面倒なようで、カスタム(列挙型)パラメーターを受け取る関数をロードする方法がわかりません。たとえば、.pdfではPCBOTEventArgsを受け取る関数SendMessage(...)です。パラメータの1つとしてmessageType。
しかし、デザインビューを介したDLLのロードは非常に簡単で、DLL全体を抽出します。
何故ですか?
関数ポインタとGetProcAddress()を使用する以外に何かありますか?