:: GetClipboardData для CF_HDROP возвращает DROPFILE, а не STGMEDIUM? - PullRequest
0 голосов
/ 11 февраля 2020

Документы для CF_HDROP говорят:

Данные состоят из структуры STGMEDIUM, которая содержит объект глобальной памяти. Член структуры hGlobal указывает на структуру DROPFILES в качестве члена hGlobal.

, но фактически, когда вы используете GetClipboardData(), он возвращает данные самому DROPFILES. То есть вы не получаете данные как STGMEDIUM, к которым вы затем должны получить доступ через член hGlobal. Это почему? Документы не так? Недостающие документы / детали автоматического c преобразования? или я что-то не так читаю?

 typedef struct tagSTGMEDIUM {
     DWORD         tymed;   
     union {
     HBITMAP       hBitmap;
     HMETAFILEPICT hMetaFilePict;
     HENHMETAFILE  hEnhMetaFile;
     HGLOBAL       hGlobal;
     LPOLESTR      lpszFileName;
     IStream       *pstm;
     IStorage      *pstg;   
     } DUMMYUNIONNAME;   
     IUnknown *pUnkForRelease; 
 } uSTGMEDIUM;
...