Windows 2000で NameSpace関数が上手く機能しない件その2

Windows 2000で NameSpace関数が上手く機能しない件 について追加分析の結果です。

shparse

Windows 2000が IShellFolder::ParseDisplayName を直接コールされるのに対して、Windows XPでは、shdocvw.dllから、 PathCanonicalizeW をいったんコールされた後、 SHParseDisplayName が呼ばれているのが分かります。

Windows XPで直接 IShellFolder::ParseDisplayName をCALLしたところ Windows 2000同様関数の実行に失敗したので、関数を呼ぶ前に、 PathCanonicalizeW で .. を取り除けば、うまく動作する可能性が出てきました。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です