Partager via


GetCurrentPackageFamilyName, fonction (appmodel.h)

Obtient le nom de la famille de package pour le processus d’appel.

Syntaxe

LONG GetCurrentPackageFamilyName(
  [in, out]       UINT32 *packageFamilyNameLength,
  [out, optional] PWSTR  packageFamilyName
);

Paramètres

[in, out] packageFamilyNameLength

Type : UINT32*

En entrée, la taille de la mémoire tampon packageFamilyName , en caractères, y compris la fin null. Lors de la sortie, la taille du nom de famille de package renvoyée, en caractères, y compris le terminateur Null.

[out, optional] packageFamilyName

Type : PWSTR

Nom de la famille de package.

Valeur retournée

Type : LONG

Si la fonction réussit, elle retourne ERROR_SUCCESS. Sinon, la fonction retourne un code d’erreur. Les codes d’erreur possibles sont les suivants.

Code de retour Description
APPMODEL_ERROR_NO_PACKAGE
Le processus n’a pas d’identité de package.
ERROR_INSUFFICIENT_BUFFER
La mémoire tampon n’est pas assez grande pour contenir les données. La taille requise est spécifiée par packageFamilyNameLength.

Remarques

Pour plus d’informations sur les limites de taille de chaîne, consultez Constantes d’identité.

Exemples

#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 = GetCurrentPackageFamilyName(&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 GetCurrentPackageFamilyName\n", rc);
        return 1;
    }

    PWSTR familyName = (PWSTR) malloc(length * sizeof(*familyName));
    if (familyName == NULL)
    {
        wprintf(L"Error allocating memory\n");
        return 2;
    }

    rc = GetCurrentPackageFamilyName(&length, familyName);
    if (rc != ERROR_SUCCESS)
    {
        wprintf(L"Error %d retrieving PackageFamilyName\n", rc);
        return 3;
    }
    wprintf(L"%s\n", familyName);

    free(familyName);

    return 0;
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête appmodel.h
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetCurrentPackageFullName

GetCurrentPackageId

GetCurrentPackageInfo

GetCurrentPackagePath

GetPackageFamilyName

PackageFamilyNameFromFullName

PackageFamilyNameFromId