AssocGetPerceivedType 函数 (shlwapi.h)
根据文件的扩展名检索文件的感知类型。
语法
LWSTDAPI AssocGetPerceivedType(
[in] PCWSTR pszExt,
[out] PERCEIVED *ptype,
[out] PERCEIVEDFLAG *pflag,
[out, optional] PWSTR *ppszType
);
参数
[in] pszExt
类型: PCWSTR
指向包含文件扩展名的缓冲区的指针。 这应包括前导句点,例如“.txt”。
[out] ptype
类型: 感知*
指向指示感知类型的 PERCEIVED 值的指针。
[out] pflag
类型: PERCEIVEDFLAG*
指向值的指针,该值指示感知到的类型信息的源。 以下一个或多个值。
PERCEIVEDFLAG_UNDEFINED (0x0000)
PERCEIVED_TYPE_UNSPECIFIED ) ( 找不到可感知的类型。
PERCEIVEDFLAG_SOFTCODED (0x0001)
感知的类型是通过注册表中的关联确定的。
PERCEIVEDFLAG_HARDCODED (0x0002)
Windows 固有已知感知的类型。
PERCEIVEDFLAG_NATIVESUPPORT (0x0004)
感知到的类型是通过 Windows 提供的编解码器确定的。
PERCEIVEDFLAG_GDIPLUS (0x0010)
GDI+ 库支持感知的类型。
PERCEIVEDFLAG_WMSDK (0x0020)
Windows Media SDK 支持感知的类型。
PERCEIVEDFLAG_ZIPFOLDER (0x0040)
Windows 压缩文件夹支持感知的类型。
[out, optional] ppszType
类型: PWSTR*
如果函数返回成功代码,则包含指向接收感知类型字符串(例如“text”或“video”)的缓冲区的指针的地址。 此值可以为 NULL。
返回值
类型: HRESULT
如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
此函数首先将扩展与 Windows 已知的一组硬编码扩展进行比较。 如果该搜索无法显示匹配项,则会在HKEY_CLASSES_ROOT下注册的关联中搜索与扩展匹配且包含 PerceivedType 值的键。 如果找到该值,则会再次搜索扩展集以查找匹配项。 如果再次找不到匹配项,则确定感知的类型PERCEIVED_TYPE_CUSTOM。 如果未找到与扩展匹配的键或 PerceivedType 值,则感知的类型将报告为PERCEIVED_TYPE_UNSPECIFIED。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP SP2 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shlwapi.dll (6.0 或更高版本) |