BExplorer.Shell.Interop.VistaBridge.ShellItemImpl.GetDisplayName C# (CSharp) Method

GetDisplayName() public method

public GetDisplayName ( SIGDN sigdnName ) : IntPtr
sigdnName SIGDN
return System.IntPtr
		public IntPtr GetDisplayName(SIGDN sigdnName) {
			if (sigdnName == SIGDN.FILESYSPATH) {
				var result = new StringBuilder(512);
				if (!Shell32.SHGetPathFromIDList(Pidl, result)) throw new ArgumentException();
				return Marshal.StringToHGlobalUni(result.ToString());
			}
			else {
				IShellFolder parentFolder = GetParent().GetIShellFolder();
				IntPtr childPidl = Shell32.ILFindLastID(Pidl);
				var builder = new StringBuilder(512);
				var strret = new STRRET();

				parentFolder.GetDisplayNameOf(childPidl, (SHGNO)((int)sigdnName & 0xffff), out strret);
				ShlWapi.StrRetToBuf(ref strret, childPidl, builder, (uint)builder.Capacity);
				return Marshal.StringToHGlobalUni(builder.ToString());
			}
		}