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 |