3

Windows では、標準の DLL エントリ ポイントは DllMain と呼ばれます。2 番目のパラメータは DWORD ですul_reason_for_call

MSDN でこの 2 番目のパラメーターの可能な値を調べました。次のことが明らかです。

DLL_PROCESS_ATTACH:
DLL_THREAD_ATTACH:
DLL_THREAD_DETACH:
DLL_PROCESS_DETACH:

しかし、どうですか:

DLL_PROCESS_VERIFIER

このフラグを使用してエントリ ポイントが呼び出されるのはいつですか? DLL の「通常の」動作中に心配する必要がありますか?

DLL_PROCESS_VERIFIER2008 ではなく、Visual Studio 2005 のヘッダー ファイルにのみ表示されることに注意してください。

4

3 に答える 3

5

理論的には、Microsoft は新しい使用法とフラグが必要だと感じたときにいつでも新しい使用法とフラグを発明できると思います。したがって、簡単なルールは、コードが予期しない値を許容するようにすることです。つまり、処理する必要があるケースを処理するように記述し、残りはゼロを返すことで無視します。

于 2010-03-15T17:04:30.147 に答える
1

これは本当にあいまいです。これは SDK で文書化されることはなく SDK ヘッダー ファイルにも表示されません。Google のヒット数はわずかで、ほとんどのサイトはダウンしているか、信頼されていません。私が得る唯一のまともなヒットは XBox コードです。それは宣言するだけで、実際には使用しません。

これが、通常の Windows プログラムで遭遇するような実際のコードであるとは、私には十分に確信が持てません。

于 2010-03-15T17:22:44.007 に答える
0

それがApplicationVerifierを介して実行される場合、それは価値を持つことができると思います。推測の種類:)

于 2010-03-15T17:11:38.010 に答える