// イベントドリブンなwin32アプリケーションのメッセージループ
MSG msg;
while (GetMessage(&msg , NULL , 0 , 0)) { // メッセージが発生するまで GetMessage内で待機
 TranslateMessage(&msg);
 DispatchMessage(&msg);
}

// ゲームなど常に動作する内容の場合
MSG msg;
while (1) {
 if (PeekMessage (&msg,NULL,0,0,PM_NOREMOVE)) {
  if (msg.message == WM_QUIT) break;
  TranslateMessage(&msg);
  DispatchMessage(&msg); // ゲーム用でないその他システム関連の処理(を、行うウィンドウプロシージャ側へディスパッチされる)
 } else {
  // ゲーム用独自:タイミング管理コンテナ == 処理を行うタイミングだった場合 {
  //  ゲーム用独自:処理のハンドラを叩く ※このハンドラは必要に応じて上のウィンドウプロシージャからも呼び出される
  // }
 }
}