示例#1
0
ShellPath ShellEntry::create_absolute_pidl() const
{
	CONTEXT("ShellEntry::create_absolute_pidl()");

	if (_up) {
		ShellDirectory* dir = _up;

		if (dir->_pidl->mkid.cb)	// Caching of absolute PIDLs could enhance performance.
			return _pidl.create_absolute_pidl(dir->create_absolute_pidl());
	}

	return _pidl;
}
示例#2
0
ShellPath ShellEntry::create_absolute_pidl() const
{
	CONTEXT("ShellEntry::create_absolute_pidl()");

	if (_up)
	{
		if (_up->_etype == ET_SHELL) {
			ShellDirectory* dir = static_cast<ShellDirectory*>(_up);

			if (dir->_pidl->mkid.cb)	// Caching of absolute PIDLs could enhance performance.
				return _pidl.create_absolute_pidl(dir->create_absolute_pidl());
		} else
			return _pidl.create_absolute_pidl(_up->create_absolute_pidl());
	}
	return _pidl;
}