0

I'm implementing Windows-Explorer-view-like.

First i get desktop pidl via SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl) and store it in class atribute. After my IShellBrowser::BrowseObject get called, i overwite the atribute with pidl is passed via this method. If i want to go up, i call call SHBindToParent, pass the stored pidl to it, but i got either E_INVALIDARG or desktop pidl. I suspect that i pass wrong PIDL in it.

How should i get parent PIDL right?

fogbit
  • 1,961
  • 6
  • 27
  • 41

1 Answers1

1
// C#
 [System.Runtime.InteropServices.DllImportAttribute("shell32.dll", EntryPoint="ILRemoveLastID")]
    [return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)]
public static extern  bool ILRemoveLastID(System.IntPtr pidl) ;

}
Thiem Nguyen
  • 6,345
  • 7
  • 30
  • 50
Jens
  • 77
  • 2