RtlQueryPackageIdentityEx 函数 (ntifs.h)

RtlQueryPackageIdentityEx 返回关联的完整包名称。 它还可以选择返回包相对应用程序名称,以及应用程序是否被视为已打包。

语法

NTSYSAPI NTSTATUS RtlQueryPackageIdentityEx(
  PVOID    TokenObject,
  PWSTR    PackageFullName,
  PSIZE_T  PackageSize,
  PWSTR    AppId,
  PSIZE_T  AppIdSize,
  LPGUID   DynamicId,
  PULONG64 Flags
);

参数

TokenObject

令牌对象的句柄 (以TOKEN_QUERY访问权限打开的用户模式) ,或 (内核模式) 原始令牌对象的句柄。

PackageFullName

指向将接收唯一包密钥的宽字符缓冲区的指针。 成功后,缓冲区将为 null 终止。

PackageSize

指向值的指针,该值定义 PackageFullName 指向的缓冲区的大小。 输出时,它将包含写入的大小,包括终止 null。

AppId

指向可能接收包相对应用程序标识符的宽字符缓冲区的指针。 AppId 是可选的,可以为 NULL

AppIdSize

指向值的指针,该值定义 AppId 指向的缓冲区的大小。 输出时,它将包含写入的大小,包括终止 null。 如果 AppId 不为 NULL则 AppIdSize 必须指向有效值;否则 ,AppIdSize 应设置为 NULL

DynamicId

指向接收应用程序的动态 ID 的值的指针。 DynamicId 是可选的,可以为 NULL

Flags

指向一个值的指针,该值接收包属性的值的位掩码。

返回值

成功完成后,RtlQueryPackageIdentityEx 返回STATUS_SUCCESS;否则,它将返回如下代码之一。

错误代码 含义
STATUS_INVALID_PARAMETER 参数包含无效值;例如,未为非 NULL 缓冲区提供大小值。 这是错误代码。
STATUS_NOT_FOUND 包标识不存在。

要求

要求
最低受支持的客户端 Windows 8.1
标头 ntifs.h