I have this piece of code and Juz wandering why my OpenDialog won't show up?

Code:
					OPENFILENAME ofn;       // common dialog box structure
					char szFile[260];       // buffer for file name
	
					// Initialize OPENFILENAME
					ZeroMemory(&ofn, sizeof(OPENFILENAME));
					ofn.lStructSize = sizeof(OPENFILENAME);
					ofn.hwndOwner = hWnd;
					ofn.lpstrFile = szFile;
					ofn.nMaxFile = sizeof(szFile);
					ofn.lpstrFilter = "MiniGIS map (*.map)\0 *.map\0";
					ofn.nFilterIndex = 1;
					ofn.lpstrFileTitle = NULL;
					ofn.nMaxFileTitle = 0;
					ofn.lpstrInitialDir = NULL;
					ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; 

					// Display the Open dialog box. 
					if (GetOpenFileName(&ofn)==TRUE)
					{
						MessageBox(hWnd,"User was click the cancel button","Test",MB_OK);
					}
					else
					{	
						MessageBox(hWnd,ofn.lpstrFile,ofn.lpstrFile,MB_OK); 
					} 

					break;
But same method in VB, it does work perfectly.

[code]