Frage

Unter Windows der Standard-DLL-Einstiegspunkt DllMain aufgerufen. Der zweite Parameter ist ein DWORD, ul_reason_for_call.

Ich habe die möglichen Werte für diesen zweiten Parameter auf MSDN nachgeschlagen. Im Folgenden sind offensichtlich:

DLL_PROCESS_ATTACH:
DLL_THREAD_ATTACH:
DLL_THREAD_DETACH:
DLL_PROCESS_DETACH:

Aber was ist:

DLL_PROCESS_VERIFIER

Wann wird der Eintrittspunkt mit dieser Flagge genannt werden? Muss ich mir Sorgen darüber bei ‚normalen‘ Betrieb der DLL?

Beachten Sie, dass ich nur DLL_PROCESS_VERIFIER in Header-Dateien von Visual Studio 2005, nicht 2008 sehen.

War es hilfreich?

Lösung

Ich denke, in der Theorie Microsoft könnte neue Nutzungen und Fahnen erfinden jederzeit sie fühlen sie sich einen neuen brauchen. So ist die einfache Regel, um sicherzustellen, dass Ihr Code unerwartete Werte duldet: d. H schreibt es die Fälle zu behandeln, dass Sie den Rest behandeln und ignorieren müssen, durch Null zurückzukehr

Andere Tipps

Das ist wirklich dunkel. Es ist nicht immer dokumentiert in SDK und erscheint nicht in den SDK-Header-Dateien. Google produziert nur ein paar Hits, die meisten Websites sind oder nicht vertrauenswürdige. Der einzige anständige Hit ich erhalte, ist XBox Code, erklärt sie es nur, aber nicht wirklich verwenden.

bin ich nicht in ausreichendem Maße davon überzeugt, dass dies ein echter Code ist, dass Sie jemals in einem normalen Windows-Programm auftreten würden.

ich denke, es dann Wert haben kann, wenn es ausgeführt wird durch Application Verifier . Art zu raten:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top