現在、LoadLibrary関数とFreeLibrary関数を使用して、アプリケーションが実行されているシステムにdll(mfplat.dll)が存在するかどうかを確認しています。私の要件は、DLLがシステムに存在するかどうかをチェックすることだけであり、DLLから関数を呼び出す必要はありません。同じことを確認するより速い方法はありますか?DLLがシステムに存在するかどうかを調べる最も良い方法
2
A
答えて
5
LoadLibraryEx()
を使用し、LOAD_LIBRARY_AS_DATAFILE
ビットをdwFlags
引数に設定することができます。 MSDNから
:この値が使用されている場合は、データファイルであるかのように
、システムは呼び出し プロセスの仮想アドレス空間にファイルをマップします。マップされたファイルを実行または実行する準備が完了していない場合は、 は実行されません。
これは、平文LoadLibrary()
と比較して、大幅なスピードアップをもたらすはずです。
+3
スピードアップを超えて、dllでコードを実行するのを避けます。これはおそらくより重要な考慮事項です –
関連する問題
- 1. C#SortedListにキーが存在するかどうかを調べる最良の方法はどれですか?
- 2. Grails/Hibernateで条件が与えられているエンティティがデータベースに存在するかどうかを調べる最も良い方法
- 3. テーブルにtr要素が存在するかどうかを調べる方法
- 4. チキンスキームに変数が存在するかどうかを調べる方法は?
- 5. シェルコマンドがcshellに存在するかどうかを調べる方法
- 6. 文字列が別の文字列に存在するかどうかを調べる最も良い方法は何ですか?
- 7. クラスがUIWebViewに存在するかどうかを調べる
- 8. アクションスクリプトにアイテムが存在するかどうかを調べる
- 9. ボタンがJavaに存在するかどうかを調べる
- 10. オブジェクトがEntity Frameworkに存在するかどうかを確認する最も良い方法は?
- 11. アイテムがSQL Server CEに存在するかどうかを確認する最も良い方法は?
- 12. 変数がJavascriptに存在するかどうかを確認する最も良い方法は?
- 13. Pytablesが列が存在するかどうかを調べる
- 14. SQL Server - クラスタ化インデックスが存在するかどうかを調べる方法
- 15. dbにレコードが存在するかどうかを調べる最速の「GENERIC」方法ですか?
- 16. 行が存在するかどうかを判断する最良の方法
- 17. 要素が別の要素の子孫であるかどうかを調べる最も良い方法
- 18. Duplicatesが存在するかどうかを調べるSML NJ
- 19. VimL:機能が存在するかどうかを調べる
- 20. data-val-requiredが存在するかどうかを調べる
- 21. arraylistオブジェクトが存在するかどうかを調べる
- 22. PDO/PHP - 行が存在するかどうかを調べる
- 23. ファイルが存在するかどうかを調べるJava
- 24. アンドロイド:sdカードが存在するかどうか調べる
- 25. Apacheのaccess.logファイルを調べる最も良い方法は何ですか?
- 26. dllhost.exeにManaged .NET DLLが存在するかどうかをチェックする方法
- 27. Java MySQLがデータベースに値が存在するかどうかを調べる
- 28. dllがシステムに存在するかどうか、またはC++を使用してSQLSERVER2008がインストールされているかどうかを確認する方法
- 29. SQLAlchemy:オブジェクトが既にテーブルに存在するかどうかを調べる
- 30. C#/ .NETにファイルが存在するかどうかを調べるには?
スピードは本当に重要ですか? –
「あなたのシステム上の存在」を定義してください。システム上のどこにいても、dll検索で利用可能ですか?また、なぜあなたはチェックの必要性を感じますか?それが起こったときに、ロード障害に対処してみませんか?とにかくそれをやらなければなりません。なぜ、余分なコードを書くのですか? –