gst/gst.c: Add a warning about DllMain to prevent misuse

DllMain should not be relied on for anything except storing the DLL handle.
It should also not be defined for static builds, but doing so is not
straightforward and is mostly harmless, so let's just add a comment about that
for now.
This commit is contained in:
Nirbheek Chauhan 2015-05-27 17:22:28 +05:30 committed by Tim-Philipp Müller
parent 179ba9f182
commit b174ec6903

View file

@ -192,6 +192,17 @@ enum
*/
#ifdef G_OS_WIN32
/* Note: DllMain is only called when DLLs are loaded or unloaded, so this will
* never be called if libgstreamer-1.0 is linked statically. Do not add any code
* here to, say, initialize variables or set things up since that will only
* happen for dynamically-built GStreamer.
*
* Also, ideally this should not be defined when GStreamer is built statically.
* i.e., it should be conditional on #ifdef DLL_EXPORT. It will be ignored, but
* if other libraries make the same mistake of defining it when building
* statically, there will be a symbol collision during linking. Fixing this
* requires one to build two object files: one for static linking and another
* for dynamic linking. */
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved);
BOOL WINAPI
DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)