アプリケーションの終了方法としては下記のプログラムは正しいでしょうか。
実際に正常に終了している様には見えますが 自信が持てません。^^;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow) {
  (省略)
HWND hwnd;
hwnd = CreateWindow ("Window 1", ・・・);
  (省略)
hyouji1 ((hwnd1);
return 0;
}

void hyouji1 (HWND hwnd1){
MSG msg;
  (省略)
  while(TRUE){
    if (PeekMessage(&msg, NULL, WM_MOUSEFIRST, WM_MOUSELAST, PM_NOREMOVE)){
    if (GetMessage(&msg, NULL, 0, 0) == 0) break;
     TranslateMessage(&msg);DispatchMessage(&msg);
    }
    else
    {
    (省略)  //左クリックが押されない限り 計算を続ける
    }
   }
}

LRESULT CALLBACK WndProc (HWND hwndBlack, UINT msg, WPARAM wp, LPARAM lp) {
switch (msg) {
case WM_LBUTTONDOWN: PostQuitMessage (0); return 0; //アプリ終了
return DefWindowProc (hwnd1, msg, wp, lp);
}