IQueryAssociations 接口 (shlwapi.h)

公开的方法可简化检索注册表中存储的信息的过程,同时定义文件类型或协议并将其与应用程序相关联。

继承

IQueryAssociations 接口继承自 IUnknown 接口。 IQueryAssociations 还具有以下类型的成员:

方法

IQueryAssociations 接口具有这些方法。

 
IQueryAssociations::GetData

从注册表中搜索并检索与文件或协议关联的二进制数据。
IQueryAssociations::GetEnum

未实现此方法。 (IQueryAssociations.GetEnum)
IQueryAssociations::GetKey

从注册表中搜索并检索与文件或协议关联的项。
IQueryAssociations::GetString

从注册表中搜索并检索与文件或协议关联相关的字符串。 (IQueryAssociations.GetString)
IQueryAssociations::Init

初始化 IQueryAssociations 接口,并将根密钥设置为相应的 ProgID。

注解

何时实现

此接口由 Shell 或命名空间扩展公开,以简化文件和协议关联的处理。 不应实现此接口。

何时使用

如果需要注册表中与文件或协议关联相关的信息,请使用此接口。 例如,可以使用此接口检索与文件扩展名关联的信息,例如其中一个谓词的命令字符串。

不需要完整的注册表路径或 HKEY 值。 相反,可以根据文件扩展名或可执行文件名称等条件检索信息。 有关文件关联的讨论,请参阅 文件类型

还可以使用此接口检索应用程序的名称。 使用方法 IQueryAssociations::GetString。 将 str 参数设置为 ASSOCSTR_FRIENDLYAPPNAME

若要使用此接口,必须先检索指向它的指针。 通常,通过调用 Shell 对象的 IShellFolder::GetUIObjectOf 方法检索 QueryInterface 指针。 还可以通过调用 AssocCreate (将 clsid 设置为 CLSID_QueryAssociations) 来检索接口指针。 使用 IQueryAssociations::Init 初始化接口。 此方法设置在调用其余三种方法之一以从注册表中检索信息的根键。 它们只会在根键下方显示。 当不再需要该接口时,必须释放它。

如果需要重复查询注册表以获取信息, IQueryAssociations 接口非常有用。 初始化接口后,调用各种方法的开销相对较小。 此外,还有一些相关函数(请参阅另请参阅部分)可让你通过单个函数调用从注册表中检索相同的信息。 虽然它们更易于使用,但它们会导致每次调用 IQueryAssociation 时创建和初始化 IQueryAssociation 的开销。 因此,它们最适合一次性使用。

要求

要求
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlwapi.h

另请参阅

AssocQueryKey

AssocQueryString

AssocQueryStringByKey