Winapi ::GetClipboardData of CF_HDROP返回DROPFILE而不是STGMEDIUM?

Winapi ::GetClipboardData of CF_HDROP返回DROPFILE而不是STGMEDIUM?,winapi,clipboard,Winapi,Clipboard,CF_HDROP的文件中说: 数据由一个STGMEDIUM结构组成,该结构包含一个全局 内存对象。结构的hGlobal成员指向DROPFILES 结构作为其全球成员 但实际上,当您使用GetClipboardData()时,它会将数据返回到DROPFILES本身。也就是说,您不能通过hGlobal成员访问STGMEDIUM获取数据。为什么呢?怎么了?缺少自动转换的文档/详细信息?还是我读错了什么 typedef struct tagSTGMEDIUM { DWORD

CF_HDROP的文件中说:

数据由一个STGMEDIUM结构组成,该结构包含一个全局 内存对象。结构的hGlobal成员指向DROPFILES 结构作为其全球成员

但实际上,当您使用
GetClipboardData()
时,它会将数据返回到
DROPFILES
本身。也就是说,您不能通过
hGlobal
成员访问
STGMEDIUM
获取数据。为什么呢?怎么了?缺少自动转换的文档/详细信息?还是我读错了什么

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

文档的目标是较低级别的
OleGetClipboard()
API(为您提供一个
IDataObject
,然后您可以查询该对象)
GetClipboardData()
是一个更高级别的包装器。文档适用于此处。对于
CF_HDROP
,API返回“类型
HDROP
的句柄,用于标识文件列表。应用程序可以通过将句柄传递给函数来检索有关文件的信息”。