GetCurrentPackageInfo2 function (appmodel.h)

Gets the package information for the calling process, with the option to specify the type of folder path to retrieve for the package.

Syntax

LONG GetCurrentPackageInfo2(
  const UINT32    flags,
  PackagePathType packagePathType,
  UINT32          *bufferLength,
  BYTE            *buffer,
  UINT32          *count
);

Parameters

flags

Type: const UINT32

The package constants that specify how package information is retrieved. The PACKAGE_FILTER_* flags are supported.

packagePathType

Type: PackagePathType

Indicates the type of folder path to retrieve for the package (the original install folder or the mutable folder).

bufferLength

Type: UINT32*

On input, the size of buffer, in bytes. On output, the size of the array of structures returned, in bytes.

buffer

Type: BYTE*

The package information, represented as an array of PACKAGE_INFO structures.

count

Type: UINT32*

The number of structures in the buffer.

Return value

Type: LONG

If the function succeeds it returns ERROR_SUCCESS. Otherwise, the function returns an error code. The possible error codes include the following.

Return code Description
APPMODEL_ERROR_NO_PACKAGE
The process has no package identity.
ERROR_INSUFFICIENT_BUFFER
The buffer is not large enough to hold the data. The required size is specified by bufferLength.

Remarks

The packagePathType parameter is useful for applications that use the windows.mutablePackageDirectories extension in their package manifest. This extension specifies a folder under the %ProgramFiles%\ModifiableWindowsApps path where the contents of the application's install folder are projected so that users can modify the installation files. This feature is currently available only for certain types of desktop PC games that are published by Microsoft and our partners, and it enables these types of games to support mods.

Requirements

Requirement Value
Minimum supported client Windows 10 [desktop apps only]
Minimum supported server Windows Server 2016 [desktop apps only]
Target Platform Windows
Header appmodel.h
Library Kernel32.lib
DLL kernelbase.dll

See also

GetCurrentPackageInfo

GetCurrentPackageFamilyName

GetCurrentPackageFullName

GetCurrentPackageId

GetCurrentPackagePath

GetPackageInfo

GetPackageInfo2