Commit 58468ef1 authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

strmbase: Define STRMBASE_DllMain.

parent 6a00d78b
......@@ -159,25 +159,3 @@ HRESULT SetupRegisterServers(const FactoryTemplate * pList, int num,
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);
}
}
......@@ -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 */
......@@ -154,17 +154,7 @@ int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
*/
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);
}
/***********************************************************************
......
......@@ -91,3 +91,40 @@ HRESULT WINAPI AMovieDllRegisterServer2(BOOL bRegister)
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;
}
......@@ -312,3 +312,6 @@ typedef struct tagFactoryTemplate {
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);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment