9b639cf2d6 2015-05-05 kinaba: import core.sys.windows.dll; 9b639cf2d6 2015-05-05 kinaba: import core.sys.windows.windows; 57ea797fa4 2015-05-05 kinaba: import std.stdio; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: //---------------------------------------------------------------- 9b639cf2d6 2015-05-05 kinaba: // おきまりのDLL初期化ルーチン 9b639cf2d6 2015-05-05 kinaba: //---------------------------------------------------------------- 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: extern (Windows) 9b639cf2d6 2015-05-05 kinaba: BOOL DllMain( HINSTANCE inst, ULONG reason, void* reserved ) 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: switch( reason ) 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: case DLL_PROCESS_ATTACH: 9b639cf2d6 2015-05-05 kinaba: dll_process_attach( inst, true ); 9b639cf2d6 2015-05-05 kinaba: break; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: case DLL_PROCESS_DETACH: 57ea797fa4 2015-05-05 kinaba: _fcloseallp = null; // Do not close stdin/out/errs!!! 9b639cf2d6 2015-05-05 kinaba: dll_process_detach( inst, true ); 9b639cf2d6 2015-05-05 kinaba: break; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: case DLL_THREAD_ATTACH: 9b639cf2d6 2015-05-05 kinaba: dll_thread_attach( true, true ); 9b639cf2d6 2015-05-05 kinaba: break; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: case DLL_THREAD_DETACH: 9b639cf2d6 2015-05-05 kinaba: dll_thread_detach( true, true ); 9b639cf2d6 2015-05-05 kinaba: break; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: default: 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: return true; 9b639cf2d6 2015-05-05 kinaba: }