↑のようなクラスでファイルタイプを取得しようと思ったのですがうまくいきません。

呼び出しは以下のように行っています。
Dim fsi = New System.IO.FileInfo("D:\Data.xls")
MessageBox.Show(fsi.Name & " / " & TestInfo.FileTypeName(fsi))

SHGetFileInfoを実行した時点でszTypeNameがNothingなのです。
何故取得できないのでしょうか?
アドバイスをお願いします。