PifMgr_OpenProperties 函数 (shlobj_core.h)

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

打开与 Microsoft MS-DOS 应用程序关联的 .pif 文件,并返回应用程序属性的句柄。

语法

HANDLE PifMgr_OpenProperties(
  [in]           PCWSTR pszApp,
  [in, optional] PCWSTR pszPIF,
                 UINT   hInf,
                 UINT   flOpt
);

参数

[in] pszApp

类型: PCWSTR

一个以 null 结尾的 Unicode 字符串,其中包含应用程序的名称。

[in, optional] pszPIF

类型: PCWSTR

一个以 null 结尾的 Unicode 字符串,其中包含 .pif 文件的名称。

hInf

类型: UINT

应用程序的 .inf 文件的句柄。 如果没有 .inf 文件,请将此值设置为零。 将此值设置为 -1 以防止处理 .inf 文件。

flOpt

类型: UINT

控制函数操作方式的标志。

OPENPROPS_INHIBITPIF

忽略任何现有的 .pif 文件,并从 win.ini 或 _Default.pif 获取属性。 Windows NT、Windows 2000 和 Windows XP 上忽略此标志。

OPENPROPS_NONE

没有指定选项。

返回值

类型: HANDLE

返回应用程序属性的句柄。 调用相关的 .pif 函数时使用此句柄。

注解

不应将 PifMgr_OpenProperties 视为在某个位置打开文件的函数。 此调用后,.pif 文件不会保持打开状态。 将 函数视为可以使用磁盘数据初始化的属性结构分配器更有用。 此函数失败的主要原因是内存不足或无法打开指定的 .pif 文件。

如果不存在 .pif 文件,该函数仍会分配内存中的数据块,并使用来自 _Default.pif 或其内部默认值的数据对其进行初始化。 如果函数查找 .pif 文件名但找不到它,它将构造一个名称并将其保存在其内部 .pif 数据结构中。 这可以保证,如果调用 PifMgr_SetProperties ,数据将保存到磁盘。

如果函数找不到 .pif 文件,则按以下顺序搜索它。

  1. 搜索当前目录。
  2. 搜索指定的目录。
  3. 在 .pif 目录中搜索。
  4. 搜索 PATH 环境变量指定的文件夹。

要求

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

另请参阅

PifMgr_CloseProperties

PifMgr_GetProperties