internal static PIDL FromUnknown(IntPtr unknown) { IntPtr pidl; var code = ShellNativeMethods.SHGetIDListFromObject(unknown, out pidl); return(HRESULT.Succeeded(code) ? new PIDL(pidl) : Null); }