У меня есть расширение оболочки Windows, которое добавляет пункты меню в меню принтера при щелчке правой кнопкой мыши.Код прекрасно работает в Windows 2000, XP, Vista, но в Windows 7 вызов GetData () завершается неудачно с DV_E_FORMATETC.Я нашел различные темы по этому поводу, но все они, похоже, связаны с VB / asp.Структуры FORMATETC и STGMEDIUM инициализируются следующим образом
STGMEDIUM medium = {TYMED_HGLOBAL, {0}, 0};
FORMATETC fmte = {(unsigned short)RegisterClipboardFormat(CFSTR_PRINTERGROUP),
NULL,
DVASPECT_CONTENT,
-1,
TYMED_HGLOBAL};
<snip>
hrc = pDataObj->GetData(&fmte, &medium);
if (FAILED(hrc))
{
hrc is DV_E_FORMATETC