Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft den Pfad des angegebenen mehrstufigen Pakets ab.
Syntax
LONG GetStagedPackagePathByFullName(
[in] PCWSTR packageFullName,
[in, out] UINT32 *pathLength,
[out, optional] PWSTR path
);
Parameter
[in] packageFullName
Typ: PCWSTR
Der vollständige Name des inszenierten Pakets.
[in, out] pathLength
Typ: UINT32*
Ein Zeiger auf eine Variable, die die Anzahl der Zeichen (WCHARs) in der Paketpfadzeichenfolge enthält, die den NULL-Endator enthält.
Zuerst übergeben Sie NULL an path , um die Anzahl der Zeichen abzurufen. Sie verwenden diese Nummer, um Speicherplatz für den Pfad zuzuweisen. Anschließend übergeben Sie die Adresse dieses Speicherplatzes, um den Pfad zu füllen.
[out, optional] path
Typ: PWSTR
Ein Zeiger auf den Speicherplatz, der die Paketpfadzeichenfolge empfängt, die den NULL-Abschlussator enthält.
Rückgabewert
Typ: LONG
Wenn die Funktion erfolgreich ist, gibt sie ERROR_SUCCESS zurück. Andernfalls gibt die Funktion einen Fehlercode zurück. Zu den möglichen Fehlercodes gehören die folgenden:
| Rückgabecode | Beschreibung |
|---|---|
|
Der im Pfad angegebene Puffer ist nicht groß genug, um die Daten aufzunehmen. Die erforderliche Größe wird durch pathLength angegeben. |
Hinweise
Diese Funktion ist erfolgreich, wenn das Paket bereitgestellt wird, unabhängig vom Benutzerkontext oder wenn das Paket für den aktuellen Benutzer registriert ist.
Beispiele
#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;
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows 8.1 [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2012 R2 [nur Desktop-Apps] |
| Zielplattform | Windows |
| Kopfzeile | appmodel.h |
| Bibliothek | Kernel32.lib |
| DLL | Kernel32.dll |