"Shell IDList Array"じゃなくて、DataFormats.FileDrop
DragEventArgs.Data.GetData()の話。"Shell IDList Array"でMemoryStreamをとってセッセと昔ながらにSHGetPathFromIDListを読んでいってstringを返す関数を作ってしまった。しかもユニコード文字が含まれているファイル名が?になっちゃうし((ピンボケをワイド文字列版でやらなかったせいだろうけど))。
DataFormats.FileDropだけでユニコードファイル名も問題ないstringが普通に返るのにさ。orz