GetLongPathName 存在しないと失敗
http://msdn.microsoft.com/ja-jp/library/cc429335.aspx
簡略化するために HelpAPI.hxx に以下を用意.
inline CString GetLongPathName (LPCTSTR fileName)
{
CString longPath ;
UINT size = _MAX_PATH ;
DWORD len = ::GetLongPathName(fileName,longPath.GetBuffer(size),size) ;
longPath.ReleaseBuffer() ;
if (len == 0) { return fileName ; }
return longPath ;
}
ファイルが存在しないと関数が失敗する様なので,
::CreateEmptyFile(sFile) ;
CString lFile = ::GetLongPathName(sFile) ;