问题描述
当我需要在我不完全理解的代码中使用名称时,我感到不舒服。当前,我想使用OLE实现剪贴板功能,并且遇到了FORMATETC
和TYMED
有点混乱的情况。可悲的是,我在Microsoft Docs上找不到解释。什么是“ ETC”?那是“等”吗?如果是这样,那似乎是个坏名字。还有TYMED
? “ MED”很可能表示“ medium”,但是“ TY”是什么?
解决方法
实际上,for (int i = 1,i < n^2,i=2i)
的“ etc”部分代表 et cetera (拉丁语为”,等等,或“ and the rest” ),因为FORMATETC
structure包含一个指定格式类型的成员以及一个指定'other'信息的成员:
FORMATETC
typedef struct tagFORMATETC {
CLIPFORMAT cfFormat;
DVTARGETDEVICE *ptd;
DWORD dwAspect;
LONG lindex;
DWORD tymed;
} FORMATETC,*LPFORMATETC;
enumeration values所做的(也正如您所假定的)表示不同的 TY 存储对 MED ia。