Re[2]: Q: IDataObject
От: Юрий Жмеренецкий ICQ 380412032
Дата: 08.04.08 11:09
Оценка:
Здравствуйте, Alex-Z, Вы писали:

AZ>... Как раз занимась любовью с буфером обмена в WinCE ILCreateFromPath нету, ILCreate,ILCombine нету. Непонятно с какого конца к этим пидлам подойти.


ILCreateFromPath реализуется через связку SHGetDesktopFolder + IShellFolder::ParseDisplayName
LPITEMIDLIST ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
{
  UINT cb1 = ILGetSize(pidl1) - sizeof(pidl1->mkid.cb);
  UINT cb2 = ILGetSize(pidl2);

  LPITEMIDLIST pidlNew = (LPITEMIDLIST)::CoTaskMemAlloc(cb1 + cb2);
  if(!pidlNew)
    throw std::bad_alloc(); // Или по другому

  ::CopyMemory(pidlNew, pidl1, cb1);
  ::CopyMemory(((LPSTR)pidlNew) + cb1, pidl2, cb2);
  
  return pidlNew;
}

А ILCreate то Вам зачем ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.