strmbase: Define STRMBASE_DllMain.
diff --git a/dlls/qcap/dllsetup.c b/dlls/qcap/dllsetup.c
index 8d27d91..0791749 100644
--- a/dlls/qcap/dllsetup.c
+++ b/dlls/qcap/dllsetup.c
@@ -159,25 +159,3 @@
hr = SetupRegisterAllClasses(pList, num, szFileName, FALSE);
return hr;
}
-
-/****************************************************************************
- * SetupInitializeServers
- *
- * This function is table driven using the static members of the
- * CFactoryTemplate class defined in the Dll.
- *
- * It calls the initialize function for any class in CFactoryTemplate with
- * one defined.
- *
- ****************************************************************************/
-void SetupInitializeServers(const FactoryTemplate * pList, int num,
- BOOL bLoading)
-{
- int i;
-
- for (i = 0; i < num; i++, pList++)
- {
- if (pList->m_lpfnInit)
- pList->m_lpfnInit(bLoading, pList->m_ClsID);
- }
-}
diff --git a/dlls/qcap/dllsetup.h b/dlls/qcap/dllsetup.h
index 8edb144..43950d8 100644
--- a/dlls/qcap/dllsetup.h
+++ b/dlls/qcap/dllsetup.h
@@ -35,17 +35,4 @@
****************************************************************************/
extern HRESULT SetupRegisterServers(const FactoryTemplate * pList, int num, BOOL bRegister);
-/****************************************************************************
- * SetupInitializeServers
- *
- * This function is table driven using the static members of the
- * CFactoryTemplate class defined in the Dll.
- *
- * It calls the initialize function for any class in CFactoryTemplate with
- * one defined.
- *
- ****************************************************************************/
-extern void SetupInitializeServers(const FactoryTemplate * pList, int num,
- BOOL bLoading);
-
#endif /* _QCAP_DLLSETUP_H_DEFINED */
diff --git a/dlls/qcap/qcap_main.c b/dlls/qcap/qcap_main.c
index fcc55f2..7465bb4 100644
--- a/dlls/qcap/qcap_main.c
+++ b/dlls/qcap/qcap_main.c
@@ -154,17 +154,7 @@
*/
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
{
- switch (fdwReason)
- {
- case DLL_PROCESS_ATTACH:
- DisableThreadLibraryCalls(hInstDLL);
- SetupInitializeServers(g_Templates, g_cTemplates, TRUE);
- break;
- case DLL_PROCESS_DETACH:
- SetupInitializeServers(g_Templates, g_cTemplates, FALSE);
- break;
- }
- return TRUE;
+ return STRMBASE_DllMain(hInstDLL,fdwReason,lpv);
}
/***********************************************************************
diff --git a/dlls/strmbase/dllfunc.c b/dlls/strmbase/dllfunc.c
index 16a126e..cac93b6 100644
--- a/dlls/strmbase/dllfunc.c
+++ b/dlls/strmbase/dllfunc.c
@@ -91,3 +91,40 @@
return hr;
}
+
+/****************************************************************************
+ * SetupInitializeServers
+ *
+ * This function is table driven using the static members of the
+ * CFactoryTemplate class defined in the Dll.
+ *
+ * It calls the initialize function for any class in CFactoryTemplate with
+ * one defined.
+ *
+ ****************************************************************************/
+static void SetupInitializeServers(const FactoryTemplate * pList, int num,
+ BOOL bLoading)
+{
+ int i;
+
+ for (i = 0; i < num; i++, pList++)
+ {
+ if (pList->m_lpfnInit)
+ pList->m_lpfnInit(bLoading, pList->m_ClsID);
+ }
+}
+
+BOOL WINAPI STRMBASE_DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
+{
+ switch (fdwReason)
+ {
+ case DLL_PROCESS_ATTACH:
+ DisableThreadLibraryCalls(hInstDLL);
+ SetupInitializeServers(g_Templates, g_cTemplates, TRUE);
+ break;
+ case DLL_PROCESS_DETACH:
+ SetupInitializeServers(g_Templates, g_cTemplates, FALSE);
+ break;
+ }
+ return TRUE;
+}
diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h
index d34457a..581643e 100644
--- a/include/wine/strmbase.h
+++ b/include/wine/strmbase.h
@@ -312,3 +312,6 @@
HRESULT WINAPI AMovieDllRegisterServer2(BOOL bRegister);
HRESULT WINAPI AMovieSetupRegisterFilter2( const AMOVIESETUP_FILTER const * pFilter, IFilterMapper2 *pIFM2, BOOL bRegister);
+
+/* Dll Functions */
+BOOL WINAPI STRMBASE_DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv);