GetCurrentPackagePath function
Gets the package path for the calling process.
Syntax
LONG WINAPI GetCurrentPackagePath( _Inout_ UINT32 *pathLength, _Out_opt_ PWSTR path );
Parameters
- pathLength [in, out]
-
Type: UINT32*
On input, the size of the path buffer, in characters. On output, the size of the package path returned, in characters, including the null terminator.
- path [out, optional]
-
Type: PWSTR
The package path.
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 pathLength. |
Examples
#define _UNICODE 1 #define UNICODE 1 #include <Windows.h> #include <appmodel.h> #include <malloc.h> #include <stdio.h> int __cdecl wmain() { UINT32 length = 0; LONG rc = GetCurrentPackagePath(&length, NULL); if (rc != ERROR_INSUFFICIENT_BUFFER) { if (rc == APPMODEL_ERROR_NO_PACKAGE) wprintf(L"Process has no package identity\n"); else wprintf(L"Error %d in GetCurrentPackagePath\n", rc); return 1; } PWSTR path = (PWSTR) malloc(length * sizeof(*path)); if (path == NULL) { wprintf(L"Error allocating memory\n"); return 2; } rc = GetCurrentPackagePath(&length, path); if (rc != ERROR_SUCCESS) { wprintf(L"Error %d retrieving PackagePath\n", rc); return 3; } wprintf(L"%s\n", path); free(path); return 0; }
Requirements
|
Minimum supported client |
Windows 8 [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2012 [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
See also
- GetCurrentPackageFamilyName
- GetCurrentPackageFullName
- GetCurrentPackageId
- GetCurrentPackageInfo
- GetPackagePath