PifMgr_GetProperties 函数 (shlobj_core.h)

[PifMgr_GetProperties 可用于“要求”部分中指定的操作系统。 它在后续版本中可能已更改或不可用。]

从 .pif 文件返回指定的数据块。

语法

int PifMgr_GetProperties(
  [in, optional]  HANDLE hProps,
  [in, optional]  PCSTR  pszGroup,
  [out, optional] void   *lpProps,
                  int    cbProps,
                  UINT   flOpt
);

参数

[in, optional] hProps

类型: HANDLE

应用程序属性的句柄。 此参数应设置为 PifMgr_OpenProperties返回的值。

[in, optional] pszGroup

类型: PCSTR

包含属性组名称的以 null 结尾的字符串。 它可以是下列名称之一,也可以是对应于有效 .pif 扩展名的任何其他名称。

“WINDOWS 286 3.0”

“WINDOWS 386 3.0”

“WINDOWS VMM 4.0”

“WINDOWS NT 3.1”

“WINDOWS NT 4.0”

[out, optional] lpProps

类型: void*

当此函数返回时,包含指向 PROPPRG 结构的指针。

cbProps

类型: int

lpProps 指向的缓冲区的大小(以字节为单位)。

flOpt

类型: UINT

将此参数设置为GETPROPS_NONE。

返回值

类型: int

如果成功,则返回 NULL 。 如果失败,该函数将返回作为 hProps 传递的应用程序属性的句柄。

注解

如果块是“命名”块,则它必须是 .pif 文件中链接扩展的名称。 这可以是任何预定义的名称 (如“WINDOWS 386 3.0”) 或你自己的块的名称。 可以使用 PifMgr_SetProperties 创建自己的命名数据块。 命名数据也可以视为原始数据,因为它会原样返回到调用应用程序,而不进行转换。

可以通过调用将 cbProps 设置为 0 的PifMgr_GetProperties来确定命名块的大小。 不复制任何数据,但返回请求的块的大小。

可以通过将 pszGroup 设置为 NULL 来枚举所有命名块。 lpProps 必须是指向 16 字节缓冲区的指针才能包含请求的块名称, 并且 cbProps 必须设置为从零开始的块索引。 返回值是块的大小,如果未找到块,则返回值为零。

如果通过将 name 参数的选择器设置为 NULL 来请求未命名的属性块,并且偏移量是属性组序号,则返回关联的结构。 例如,PifMgr_GetProperties (GROUP_TSK) 返回一个预定义结构,该结构以独立于 .pif 文件的格式包含所有与任务相关的信息。 这是一项有价值的服务,因为它使调用应用程序无需处理包含各种部分的 .pif 文件, (称为 .pif 扩展) (如果只需要一个)。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h
Library Shell32.lib
DLL Shell32.dll (5.0 或更高版本)

另请参阅

PifMgr_CloseProperties

PifMgr_OpenProperties