Windowsで任意のDynamic Link Libraryを実行するために使用できます。
どうすれば任意の dll のエントリ ポイントを知ることができますか?
Windowsで任意のDynamic Link Libraryを実行するために使用できます。
どうすれば任意の dll のエントリ ポイントを知ることができますか?
答えは、必要な詳細の量によって異なります。基本的には、次のようになります。
DLL は、必要に応じてエントリポイント関数を指定できます。存在する場合、プロセスまたはスレッドが DLL をロードまたはアンロードするたびに、システムはエントリポイント関数を呼び出します。
[...]独自のエントリ ポイントを提供する場合は、DllMain 関数を参照してください。DllMain という名前は、ユーザー定義関数のプレースホルダーです。DLL をビルドするときに使用する実際の名前を指定する必要があります。
(MSDN の記事Dynamic-Link Library Entry-Point Functionから引用。)
基本的に、エントリ ポイントは DLL 内で指定でき、オペレーティング システムの DLL ローダーはこれを検索する方法を知っています。
「DLL を実行する」とはどういう意味ですか? DLL は通常のプログラムではなく、単なる関数の集まりです。通常、エントリ ポイント自体は、DLL 内の他の関数で必要とされるものを初期化する以外には、あまり機能しません。エントリ ポイントは、DLL がロードされるときに自動的に呼び出されます (LoadLibrary
これを行うために を使用できます)。
DLL をロードした後に特定の関数を呼び出したい場合は、 を使用して、必要なGetProcAddress
関数へのポインターを取得できます。