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); }
protected override void Dispose(bool disposing) { if (pidlReturned != IntPtr.Zero) { UnManagedMethods.SHMemFree(pidlReturned); pidlReturned = IntPtr.Zero; } }
public void Dispose() { UnManagedMethods.SHMemFree(pidlNewSelect); }