DLL, загружаемая в приложение Windows, состоит из точки входа (DLLMain ()) и других функций, которые можно вызывать оттуда.Теперь, как мне сделать переменную глобальной среди всех этих функций для каждого процесса и потока, который присоединяется к этой DLL?
В настоящее время мне нужно открывать / закрывать файл каждый раз, когда вызывается одна из функций.Так как эти функции вызываются очень часто, это реальная проблема производительности при открытии / закрытии файла каждый раз.
wofstream wofstr;
int WINAPI func(LPCWSTR lpString)
{
...
//wofstr.open(...);
wofstr << lpString << endl; // *** NOT working without opening in this very function
...
//wofstr.close(...);
...
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
...
case DLL_PROCESS_ATTACH:
wofstr.open(...); // *** NOT seen in function above
...
case DLL_THREAD_ATTACH:
...
case DLL_THREAD_DETACH:
...
case DLL_PROCESS_DETACH:
wofstr.close(...)
...
}
Чего мне здесь не хватает?А как насчет темы?