私のプロジェクトでは、実行時にDLLをロードする必要があり、それ以前はDLLに関する情報がありません。LoadLibraryとGetProcAddressで呼び出される(装飾された)名前を持つ関数を列挙できる必要があります(これは私に課せられた要件です)。名前は装飾されている場合とされていない場合があり、GetProcAddressに装飾された名前がある場合は、明らかにその名前が必要です。
これを行うための合理的な方法はありますか?
Dependsやその他のツールを使用して、装飾された名前を自分で引き出すことができますが、これは実行時に行う必要があります。UnDecorateSymbolNameのような関数を使用すると、欠落している装飾された名前を取得する方法が必要になります。SymEnumSymbolsを試しましたが、名前が装飾されていませんでした。
関数の呼び出しについて質問しているのではなく、.DEFファイルなしでDLLから名前を列挙しているだけであることに注意してください。私はVisualStudio2010を使用しており、すべてのDLLがVisualStudioでコンパイルされると想定されています。