FILEDESCRIPTORA 结构 (shlobj_core.h)
描述在 Microsoft ActiveX 拖放 操作期间通过剪贴板复制的文件的属性。
语法
typedef struct _FILEDESCRIPTORA {
DWORD dwFlags;
CLSID clsid;
SIZEL sizel;
POINTL pointl;
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
CHAR cFileName[MAX_PATH];
} FILEDESCRIPTORA, *LPFILEDESCRIPTORA;
成员
dwFlags
类型:DWORD
标志数组,指示哪些其他结构成员包含有效数据。 此成员可以是以下值的组合。
FD_CLSID (0x00000001)
0x00000001。 clsid 成员有效。
FD_SIZEPOINT (0x00000002)
0x00000002。 sizel 和 pointl 成员有效。
FD_ATTRIBUTES (0x00000004)
0x00000004。 dwFileAttributes 成员有效。
FD_CREATETIME (0x00000008)
0x00000008。 ftCreationTime 成员有效。
FD_ACCESSTIME (0x00000010)
0x00000010。 ftLastAccessTime 成员有效。
FD_WRITESTIME (0x00000020)
0x00000020。 ftLastWriteTime 成员有效。
FD_FILESIZE (0x00000040)
0x00000040。 nFileSizeHigh 和 nFileSizeLow 成员有效。
FD_PROGRESSUI (0x00004000)
0x00004000。 使用拖放操作显示进度指示器。
FD_LINKUI (0x00008000)
0x00008000。 将操作视为快捷方式。
FD_UNICODE ( (int) 0x80000000)
(int) 0x80000000。 Windows Vista 及更高版本。 描述符为 Unicode。
clsid
类型: CLSID
文件类型标识符。
sizel
类型: SIZEL
文件图标的宽度和高度。
pointl
类型: POINTL
文件对象的屏幕坐标。
dwFileAttributes
类型:DWORD
文件属性标志。 这是 GetFileAttributes 中描述的FILE_ATTRIBUTE_值的组合。
ftCreationTime
类型: FILETIME
包含文件创建时间的 FILETIME 结构。
ftLastAccessTime
类型: FILETIME
包含上次访问文件的时间的 FILETIME 结构。
ftLastWriteTime
类型: FILETIME
包含上次写入操作时间的 FILETIME 结构。
nFileSizeHigh
类型:DWORD
文件大小的高阶 DWORD (以字节为单位)。
nFileSizeLow
类型:DWORD
文件大小的低序 DWORD (以字节为单位)。
cFileName[MAX_PATH]
类型: TCHAR[MAX_PATH]
包含文件名的以 null 结尾的字符串。
注解
如果与此结构对应的 CFSTR_FILECONTENTS 格式包含文件作为全局内存对象, 则 nFileSizeHigh 和 nFileSizeLow 指定关联的内存块的大小。 如果已设置,则如果需要显示用户界面,也可以使用它们。 例如,如果文件即将被覆盖,通常使用此结构中的信息来显示包含文件大小、数据和名称的对话框。
若要创建零长度的文件,请在 dwFlags 中设置FD_FILESIZE标志,并将 nFileSizeHigh 和 nFileSizeLow 设置为零。 CFSTR_FILECONTENTS格式应将文件表示为流或全局内存对象, (TYMED_ISTREAM或TYMED_HGLOBAL) 。
注意
shlobj_core.h 标头将 FILEDESCRIPTOR 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | shlobj_core.h |