The CDM_GETFILEPATH message retrieves the path and filename of the selected file in an Explorer-style Open or Save As common dialog box. The dialog box must have been created with the OFN_EXPLORER flag; otherwise, the message fails.
CDM_GETFILEPATH wParam = (WPARAM) cbmax; lParam = (LPARAM) (LPTSTR) psz; // Corresponding macro int CommDlg_OpenSave_GetFilePath(hdlg, psz, cbmax);
If the message succeeds, the return value is the size, in bytes or characters, of the filename and path string, including the terminating NULL character. This is either the number of bytes or characters copied to the psz buffer, or the required buffer size if the buffer is too small.
If an error occurs, the return value is less than zero.