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 或更高版本)