Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendapatkan jalur paket bertahap yang ditentukan.
Sintaksis
LONG GetStagedPackagePathByFullName(
[in] PCWSTR packageFullName,
[in, out] UINT32 *pathLength,
[out, optional] PWSTR path
);
Parameter
[in] packageFullName
Jenis: PCWSTR
Nama lengkap paket bertahap.
[in, out] pathLength
Jenis: UINT32*
Penunjuk ke variabel yang menyimpan jumlah karakter (WCHARs) dalam string jalur paket, yang mencakup terminator null.
Pertama, Anda meneruskan NULL ke jalur untuk mendapatkan jumlah karakter. Anda menggunakan nomor ini untuk mengalokasikan ruang memori untuk jalur . Kemudian Anda meneruskan alamat ruang memori ini untuk mengisi jalur .
[out, optional] path
Jenis: PWSTR
Pointer ke ruang memori yang menerima string jalur paket, yang mencakup null-terminator.
Mengembalikan nilai
Jenis: LONG
Jika fungsi berhasil, fungsi akan mengembalikan ERROR_SUCCESS. Jika tidak, fungsi mengembalikan kode kesalahan. Kode kesalahan yang mungkin mencakup yang berikut ini.
| Mengembalikan kode | Deskripsi |
|---|---|
|
Buffer yang ditentukan oleh jalur tidak cukup besar untuk menyimpan data. Ukuran yang diperlukan ditentukan oleh pathLength. |
Komentar
Fungsi ini berhasil jika paket ditahapkan, terlepas dari konteks pengguna atau jika paket terdaftar untuk pengguna saat ini.
Contoh
#define _UNICODE 1
#define UNICODE 1
#include <Windows.h>
#include <appmodel.h>
#include <stdlib.h>
#include <stdio.h>
int ShowUsage();
int ShowUsage()
{
wprintf(L"Usage: GetStagedPackagePathByFullName <fullname> [<fullname>...]\n");
return 1;
}
int __cdecl wmain(__in int argc, __in_ecount(argc) WCHAR * argv[])
{
if (argc <= 1)
return ShowUsage();
for (int i=1; i<argc; ++i)
{
PCWSTR fullName = argv[i];
UINT32 length = 0;
LONG rc = GetStagedPackagePathByFullName(fullName, &length, NULL);
if (rc != ERROR_INSUFFICIENT_BUFFER)
{
wprintf(L"Error %d in GetStagedPackagePathByFullName\n", rc);
return 2;
}
PWSTR path = (PWSTR) malloc(length * sizeof(WCHAR));
if (path == NULL)
{
wprintf(L"Error allocating memory\n");
return 3;
}
rc = GetStagedPackagePathByFullName(fullName, &length, path);
if (rc != ERROR_SUCCESS)
wprintf(L"Error %d retrieving Package's path\n", rc);
else
wprintf(L"Path = %s\n", path);
free(path);
}
return 0;
}
Persyaratan
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows 8.1 [hanya aplikasi desktop] |
| server minimum yang didukung | Windows Server 2012 R2 [hanya aplikasi desktop] |
| Platform Target | Windows |
| Header | appmodel.h |
| Pustaka | Kernel32.lib |
| DLL | Kernel32.dll |