getCurrentPackageInfo3 函数 (appmodel.h)

检索包图的当前代 ID。

有关如何调用函数的信息,请参阅 备注

语法

HRESULT GetCurrentPackageInfo3(
  _In_ UINT32                                 flags,
  _In_ PackageInfo3Type                       packageInfoType,
  _Inout_ UINT32                             *bufferLength,
  _Out_writes_bytes_opt_(*bufferLength) void *buffer,
  _Out_opt_ UINT32                           *count
);

参数

flags

类型: const UINT32

指定如何检索包信息的包 常量 。 支持 PACKAGE_FILTER_* 标志。

packageInfoType

类型: PackageInfo3Type

enum PackageInfo3Type
{
	PackageInfo3Type_PackageInfoGeneration = 16,
} PackageInfoType;

如上所示声明 PackageInfo3Type ,并传递 PackageInfo3Type::P ackageInfo3Type_PackageInfoGeneration

bufferLength

类型: UINT32*

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

buffer

类型: BYTE*

包图的当前代 ID,表示为 PACKAGE_INFO 结构的数组。

count

类型: UINT32*

缓冲区中的结构数。

返回值

类型: LONG

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

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

注解

此函数没有关联的头文件或库文件。 应用程序可以使用 DLL 名称 () Kernel32.dll 调用 LoadLibrary 以获取模块句柄。 然后,它可以使用模块句柄和此函数的名称调用 GetProcAddress 以获取函数地址。

要求

   
最低受支持的客户端 Windows 10 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头
Library
DLL Kernel32.dll

另请参阅