問題タブ [loadlibrary]

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 投票する
2 に答える
6122 参照

windows - マニフェストを使用した LoadLibrary での Windows パス検索

LoadLibraryパスなしで呼び出した場合(たとえばLoadLibrary("whatever.dll")、Windows は通常、EXE の検索に使用するのと同じ標準検索アルゴリズムに従います。

私の質問は次のとおりです。アプリケーション マニフェストで、システム DLL の特定のバージョン、たとえば comctl32.dll 6.0 が指定されているとします。その場合、LoadLibrary("comctl32.dll")すぐに正しいサイド バイ サイド フォルダーに移動しますか、それともなんらかの検索を実行しますか?

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

.net - .NET PInvoke は、ユーザーが指定したディレクトリからネイティブ dll を動的にロードできますか?

.NET アプリケーションがあり、ユーザーが場所を指定したネイティブ ライブラリをロードする必要があります。PInvoke は、グローバル検索パス (またはコンパイル時に指定されたパス?) からのみ読み込まれるように見えます。実行時に LoadLibrary を呼び出す C++/CLI アセンブリを作成するのが最善の方法でしょうか?

C++/CLI は C# PInvoking LoadLibrary よりも簡単ですか?

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

c# - DllImport と LoadLibrary のどちらが良いですか?

私は通常、c#.NET で Win32 API を使用しています。ただし、1 つのアプリケーションですべてを宣言しないでください。通常はuser32を使用することもあれば、gdi32を使用することもあります...すべてのAPI関数を宣言すると、それらは大量のメモリを使用すると思います。.NET で API を使用する最良の方法は何ですか?

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

c++ - C++ dll ファイルを Matlab にロードする方法

matlab にロードする必要がある他の多くの c++ ライブラリ (IPP、Opencv +++) を使用する C++ dll ファイルがあります。これどうやってするの?

loadlibrary と mex を試しました。ロード ライブラリが機能しません。

mex は Linux のもの (プラットフォームに依存しないライブラリ) を見つけて、それらを含めようとします。そして、それはうまくいきません。

誰か良いアイデアはありますか?

0 投票する
6 に答える
4874 参照

c++ - DLL のビルド中に特定のファイルを含めると LoadLibrary が失敗する

C++ アプリの DLL の 1 つで、非常に奇妙な動作が発生します。DLL のメイン ファイルに #include を使用して 1 つのファイルを含めるまで、正常に動作し、正常に読み込まれます。次に、次のエラー メッセージが表示されます。

D:/Targets/bin/MatrixWorkset.dll からコンポーネントを読み込んでいます "D:/Targets/bin/MatrixWorkset.dll" を読み込めませんでした: ライブラリ MatrixWorkset を読み込めません: メモリ ロケーションへのアクセスが無効です。

今、私はコードとグーグルを検索して検索しましたが、何が起こっているのかわかりません。これまではすべてが 1 つの DLL に含まれていましたが、それを 2 つの小さな DLL に分割することにしました。問題の原因となっているファイルは、他の 2 番目のライブラリ (問題なくロードされます) の一部です。

どんなアイデアでも大歓迎です。ありがとう、ジャコ

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

c++ - LoadLibraryを介してプレーンC++プログラムからマネージC++DLLをロードする

マネージC++とプレーンC++を単純に組み合わせて動作させようとしています。Visual Studio 2005を使用していますが、問題が発生し続けています。これが私の設定です。

まず、コードから構築された単純なDLLがあります

コマンドラインでこれを使用してDLLにコンパイルします

次に、私はただからなる簡単なプログラムを持っています

私はこれからアプリケーションを構築します

だから私は同じディレクトリに行き着きますdllcode.dllloader.exeを実行しようとするとloader.exe、常に戻りコード「1」が返されます。によって生成されたエラーコードを検索すると、次の理由GetLastError()で読み込みdllcode.dllに失敗したことがわかりますThe specified module could not be found.

なぜこれができるのか誰かが知っていますか?マニフェストに埋め込む必要があるマニフェストと関係がありdllcode.dllますか?dllcode.dllでdependsプログラムを実行しましたが、私が知る限り、問題は発生しませんでした。

0 投票する
4 に答える
3994 参照

.net - マネージコードからのフックLoadLibrary呼び出し

見つからないアセンブリをダウンロードするために、LoadLibraryへの呼び出しをフックしたいと思います。管理されたアセンブリを処理するResolveAssemblyのハンドラーがありますが、管理されていないアセンブリも処理する必要があります。

「MicrosoftWindows用のアプリケーションのプログラミング」で指定された手法でインポートテーブルを書き直してLoadLibrary呼び出しをフックしようとしましたが、WriteProcessMemory()を呼び出すと、アクセス許可拒否エラー(998)が発生します。(はい、私たちは高い特権で実行しています)

CLRがロードされている間にインポートテーブルを書き直すことに成功した人はいますか?誰かが私を正しい方向に向けることができますか?

更新:アクセス許可が拒否される問題を解決しましたが、混合アセンブリ(管理対象+非管理対象)のインポートテーブルを反復処理すると、mscoree.dllのみが見つかります。ネイティブインポートを見つける方法を知っている人はいますか?(私たちはC ++ / CLIで作業しています)。

0 投票する
6 に答える
10337 参照

visual-c++ - LoadLibrary で DLL をロードできない原因は何ですか?

Microsoft Visual C++ で C モジュールとして記述された JD Edwards ビジネス関数があります。LoadLibrary を使用してサード パーティの DLL にアクセスしています。スタンドアロンのテスト プログラムでは、コードは問題なく実行されます。JDE 内から実行すると、LoadLibrary は NULL を返し、GetLastError は 126 を返します。これはThe specified module could not be found、MSDN によると意味します。DLL へのフル パスを入力しようとしましたが、パス内の \ 文字を 2 倍にすることを覚えていました。変わりはない。

DLL の読み込みを妨げる依存関係がないことを確認しました。DUMPBIN /DEPENDENTS は次を返します。

これらは標準の Windows DLL のように見えるので、途方に暮れています。