if (SUCCEEDED(hr)) { LPITEMIDLIST pidl; ULONG len;
memcpy(p, parent_pidl, l1); memcpy((LPBYTE)p+l1, _p, l2);
	LPITEMIDLIST create_absolute_pidl(IShellFolder* parent_folder, HWND hwnd) const	{		WCHAR buffer[MAX_PATH];		HRESULT hr = path_from_pidlW(parent_folder, _p, buffer, MAX_PATH);		if (SUCCEEDED(hr)) {			LPITEMIDLIST pidl;			ULONG len;			hr = Desktop()->ParseDisplayName(hwnd, NULL, buffer, &len, &pidl, NULL);			if (SUCCEEDED(hr))				return pidl;		}		return NULL;	}