|
|
// 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; }
|