Windows 2000で NameSpace関数が上手く機能しない件その2
Windows 2000で NameSpace関数が上手く機能しない件 について追加分析の結果です。
Windows 2000が IShellFolder::ParseDisplayName を直接コールされるのに対して、Windows XPでは、shdocvw.dllから、 PathCanonicalizeW をいったんコールされた後、 SHParseDisplayName が呼ばれているのが分かります。
Windows XPで直接 IShellFolder::ParseDisplayName をCALLしたところ Windows 2000同様関数の実行に失敗したので、関数を呼ぶ前に、 PathCanonicalizeW で .. を取り除けば、うまく動作する可能性が出てきました。
Comments