


if (pFont != NULL){
pFont->Release();
}

you shuld release them when the process closes as folowing:BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
//Create your threads here to startup routines
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
pLine->Release();
pFont->Release();
break;
}
return TRUE;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if (dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3D_Hook, NULL, NULL, NULL);
pFont->Release();
}
return TRUE;
}
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3D_Hook, NULL, NULL, NULL);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
pFont->Release();
break;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if (dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)D3D_Hook, NULL, NULL, NULL);
}
if (dwReason == DLL_PROCESS_DEATTACH)
{
pFont->Release();
pLine->Release();
}
return TRUE;
}
1>.\Base.cpp(579) : error C2065: 'DLL_PROCESS_DEATTACH' : undeclared identifier 1>.\Base.cpp(582) : error C2065: 'pLine' : undeclared identifier 1>.\Base.cpp(582) : error C2227: left of '->Release' must point to class/struct/union/generic type 1> type is ''unknown-type''