Пример #1
0
        private bool ShowDialogInternal(ref BrowseInfo bi)
        {
            bi.title       = title;
            bi.displayname = new string('\0', 260);
            bi.callback    = new BrowseCallBackProc(this.CallBack);
            bi.flags       = (int)flags;

            //Free any old pidls
            if (pidlReturned != IntPtr.Zero)
            {
                UnManagedMethods.SHMemFree(pidlReturned);
            }

            bool ret = (pidlReturned = UnManagedMethods.SHBrowseForFolder(ref bi)) != IntPtr.Zero;

            if (ret)
            {
                displayName = bi.displayname;
            }

            //Reset the handle
            handle = IntPtr.Zero;

            return(ret);
        }
Пример #2
0
 protected override void Dispose(bool disposing)
 {
     if (pidlReturned != IntPtr.Zero)
     {
         UnManagedMethods.SHMemFree(pidlReturned);
         pidlReturned = IntPtr.Zero;
     }
 }
Пример #3
0
 public void Dispose()
 {
     UnManagedMethods.SHMemFree(pidlNewSelect);
 }