getPackageId 函数 (appmodel.h)

获取指定进程的包标识符 (ID) 。

语法

LONG GetPackageId(
  [in]            HANDLE hProcess,
  [in, out]       UINT32 *bufferLength,
  [out, optional] BYTE   *buffer
);

参数

[in] hProcess

类型: 句柄

具有 PROCESS_QUERY_INFORMATIONPROCESS_QUERY_LIMITED_INFORMATION 访问权限的进程句柄。 有关详细信息,请参阅 进程安全性和访问权限

[in, out] bufferLength

类型: UINT32*

输入时, 缓冲区的大小(以字节为单位)。 输出时,返回的结构大小(以字节为单位)。

[out, optional] buffer

类型: BYTE*

包 ID,表示为 PACKAGE_ID 结构。

返回值

类型: LONG

如果函数成功,则返回 ERROR_SUCCESS。 否则,函数将返回错误代码。 可能的错误代码包括以下内容。

返回代码 说明
APPMODEL_ERROR_NO_PACKAGE
进程没有程序包标识符。
ERROR_INSUFFICIENT_BUFFER
缓冲区不够大,无法保存数据。 所需的大小由 bufferLength 指定。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 appmodel.h
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

GetCurrentPackageId

GetPackageFamilyName

GetPackageFullName