/* デバッグルーチンの初期化 (管理スレッドにダイアログを作ってもらう) */ void InitializeDebugServices(HINSTANCE hinst,HWND dlg) { struct tagInitializeDebugServicesParam param; param.hInstance = hinst; param.hDlg = dlg; HALExecuteProcedure(_initializeDebugServices, (void *)¶m); //生成依頼 HALAddDestructionProcedure(FinalizeDebugServices, 0); //破棄ルーチンの登録 }
static void CreateSerialConsole(SIOPCB * cb) { struct tagSerialConsoleParameters * param; param = GlobalAlloc(GMEM_FIXED, sizeof(struct tagSerialConsoleParameters)); FatalAssertion(param != NULL, "CreateSerialConsole: GlobalAlloc reported NULL."); param->position = 0; InitializeCriticalSection(¶m->cs); cb->versatile = param; cb->Handle = CreateDialog(ProcessInstance, MAKEINTRESOURCE(CONSOLEDIALOG), 0, ConsoleProc); FatalAssertion(cb->Handle != 0, "CreateSerialConsole could not create its dialog."); PostMessage(cb->Handle,SERMSG_CREATE,0,(LPARAM)cb); UpdateWindow(cb->Handle); HALAddDestructionProcedure(SerialConsole_FinalRelease,cb); }