Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Obtiene la ruta de acceso del paquete preconfigurado especificado.
Sintaxis
LONG GetStagedPackagePathByFullName(
[in] PCWSTR packageFullName,
[in, out] UINT32 *pathLength,
[out, optional] PWSTR path
);
Parámetros
[in] packageFullName
Tipo: PCWSTR
Nombre completo del paquete preconfigurado.
[in, out] pathLength
Tipo: UINT32*
Puntero a una variable que contiene el número de caracteres (WCHAR) en la cadena de ruta de acceso del paquete, que incluye el terminador null.
En primer lugar, pase NULL a la ruta de acceso para obtener el número de caracteres. Use este número para asignar espacio de memoria para la ruta de acceso. A continuación, pase la dirección de este espacio de memoria para rellenar la ruta de acceso.
[out, optional] path
Tipo: PWSTR
Puntero al espacio de memoria que recibe la cadena de ruta de acceso del paquete, que incluye el terminador null.
Valor devuelto
Tipo: LONG
Si la función se realiza correctamente, devuelve ERROR_SUCCESS. De lo contrario, la función devuelve un código de error. Los posibles códigos de error incluyen lo siguiente.
| Código devuelto | Descripción |
|---|---|
|
El búfer especificado por la ruta de acceso no es lo suficientemente grande como para contener los datos. El tamaño necesario se especifica mediante pathLength. |
Comentarios
Esta función se realiza correctamente si el paquete se almacena provisionalmente, independientemente del contexto de usuario o si el paquete está registrado para el usuario actual.
Ejemplos
#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;
}
Requisitos
| Requisito | Value |
|---|---|
| Cliente mínimo compatible | Windows 8.1 [solo aplicaciones de escritorio] |
| Servidor mínimo compatible | Windows Server 2012 R2 [solo aplicaciones de escritorio] |
| Plataforma de destino | Windows |
| Encabezado | appmodel.h |
| Library | Kernel32.lib |
| Archivo DLL | Kernel32.dll |