Документы для 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;