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 |
---|---|
|
The process has no package identity. |
|
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 | Kernel32.dll |