パス名から拡張子を抽出する。
・MSDN(英語)には引数pszPathの最大長はMAX_PATHと書いてある(と思う)が、下記の動作確認では304文字のパス名でも正常に動作した。
・文字列の末尾から最初に見つかった'.'のアドレスを返す仕様だと思う。
// サンプルソース(C++)
LPCTSTR pszPath = _T('C:\\Dir1\\FileName.Ext');
LPTSTR pszResult = ::PathFindExtension( pszPath );
// 動作確認: Windows XP Professional SP3 日本語
Input : 'C:\Dir1\FileName.Ext'
pszResult : '.Ext'
Input : 'C:\Dir1\FileName.'
pszResult : '.'
Input : 'C:\Dir1\FileName'
pszResult : ''
Input : '...'
pszResult : '.'
Input : '1234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890.ext'
pszResult : '.ext'
Input : '(null)' 補足:引数はNULL
pszResult : NULL