You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.0 KiB
103 lines
2.0 KiB
// File: nac.cpp
|
|
|
|
|
|
#include "precomp.h"
|
|
#include "confreg.h"
|
|
|
|
EXTERN_C BOOL APIENTRY QoSEntryPoint (HINSTANCE hInstDLL, DWORD dwReason,
|
|
LPVOID lpReserved);
|
|
|
|
EXTERN_C HINSTANCE g_hInst=NULL; // global module instance
|
|
|
|
|
|
#ifdef DEBUG
|
|
HDBGZONE ghDbgZoneNac = NULL;
|
|
static PTCHAR _rgZonesNac[] = {
|
|
TEXT("nac"),
|
|
TEXT("Init"),
|
|
TEXT("Connection"),
|
|
TEXT("Comm Chan"),
|
|
TEXT("Caps"),
|
|
TEXT("DataPump"),
|
|
TEXT("ACM"),
|
|
TEXT("VCM"),
|
|
TEXT("Verbose"),
|
|
TEXT("Installable Codecs"),
|
|
TEXT("Profile spew"),
|
|
TEXT("Local QoS"),
|
|
TEXT("Keyframe Management")
|
|
};
|
|
|
|
HDBGZONE ghDbgZoneNMCap = NULL;
|
|
static PTCHAR _rgZonesNMCap[] = {
|
|
TEXT("NM Capture"),
|
|
TEXT("Ctor/Dtor"),
|
|
TEXT("Ref Counts"),
|
|
TEXT("Streaming")
|
|
};
|
|
|
|
int WINAPI NacDbgPrintf(LPTSTR lpszFormat, ... )
|
|
{
|
|
va_list v1;
|
|
va_start(v1, lpszFormat);
|
|
DbgPrintf("NAC", lpszFormat, v1);
|
|
va_end(v1);
|
|
return TRUE;
|
|
}
|
|
#endif /* DEBUG */
|
|
|
|
|
|
bool NacShutdown()
|
|
{
|
|
vcmReleaseResources();
|
|
DirectSoundMgr::UnInitialize();
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE hinstDLL,
|
|
DWORD fdwReason,
|
|
LPVOID lpvReserved);
|
|
|
|
BOOL WINAPI DllEntryPoint(
|
|
HINSTANCE hinstDLL, // handle to DLL module
|
|
DWORD fdwReason, // reason for calling function
|
|
LPVOID lpvReserved // reserved
|
|
)
|
|
{
|
|
switch(fdwReason)
|
|
{
|
|
|
|
case DLL_PROCESS_ATTACH:
|
|
DBGINIT(&ghDbgZoneNac, _rgZonesNac);
|
|
DBGINIT(&ghDbgZoneNMCap, _rgZonesNMCap);
|
|
|
|
DBG_INIT_MEMORY_TRACKING(hinstDLL);
|
|
|
|
DisableThreadLibraryCalls(hinstDLL);
|
|
g_hInst = hinstDLL;
|
|
break;
|
|
|
|
case DLL_PROCESS_DETACH:
|
|
|
|
NacShutdown(); // release all global memory
|
|
|
|
DBG_CHECK_MEMORY_TRACKING(hinstDLL);
|
|
|
|
DBGDEINIT(&ghDbgZoneNac);
|
|
DBGDEINIT(&ghDbgZoneNMCap);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
|
|
}
|
|
// call attach/detach-time functions of cantained libraries
|
|
QoSEntryPoint(hinstDLL, fdwReason, lpvReserved);
|
|
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|