Partager via


Structure ACTCTXA (winbase.h)

La structure ACTCTX est utilisée par la fonction CreateActCtx pour créer le contexte d’activation.

Syntaxe

typedef struct tagACTCTXA {
  ULONG   cbSize;
  DWORD   dwFlags;
  LPCSTR  lpSource;
  USHORT  wProcessorArchitecture;
  LANGID  wLangId;
  LPCSTR  lpAssemblyDirectory;
  LPCSTR  lpResourceName;
  LPCSTR  lpApplicationName;
  HMODULE hModule;
} ACTCTXA, *PACTCTXA;

Membres

cbSize

Taille, en octets, de cette structure. Il est utilisé pour déterminer la version de cette structure.

dwFlags

Indicateurs qui indiquent comment les valeurs incluses dans cette structure doivent être utilisées. Définissez tous les bits non définis dans dwFlags sur 0. Si des bits non définis ne sont pas définis sur 0, l’appel à CreateActCtx qui crée le contexte d’activation échoue et retourne un code d’erreur de paramètre non valide.

Indicateur de bits Signification
ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID
1
0x001
ACTCTX_FLAG_LANGID_VALID
2
0x002
ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID
4
0x004
ACTCTX_FLAG_RESOURCE_NAME_VALID
8
0x008
ACTCTX_FLAG_SET_PROCESS_DEFAULT
16
0x010
ACTCTX_FLAG_APPLICATION_NAME_VALID
32
0x020
ACTCTX_FLAG_HMODULE_VALID
128
0x080

lpSource

Chaîne terminée par null spécifiant le chemin du fichier manifeste ou de l’image PE à utiliser pour créer le contexte d’activation. Si ce chemin fait référence à un fichier EXE ou DLL, le membre lpResourceName est requis.

wProcessorArchitecture

Identifie le type de processeur utilisé. Spécifie l’architecture du processeur du système.

Cette valeur peut être l’une des valeurs suivantes :

wLangId

Spécifie le manifeste de langue à utiliser. La valeur par défaut est la langue de l’interface utilisateur actuelle de l’utilisateur actuel.

Si la langue demandée est introuvable, une approximation est recherchée à l’aide de l’ordre suivant :

  • Langue spécifique de l’utilisateur actuel. Par exemple, pour l’anglais américain (1033).
  • Langue principale de l’utilisateur actuel. Par exemple, pour l’anglais (9).
  • Langue spécifique du système actuel.
  • Langue principale du système actuel.
  • Une langue mondiale non spécifique. Langue neutre (0).

lpAssemblyDirectory

Répertoire de base dans lequel effectuer un sondage d’assembly privé si les assemblys dans le contexte d’activation ne sont pas présents dans le magasin à l’échelle du système.

lpResourceName

Pointeur vers une chaîne terminée par null qui contient le nom de la ressource à charger à partir de l’pe spécifié dans hModule ou lpSource. Si le nom de la ressource est un entier, définissez ce membre à l’aide de MAKEINTRESOURCE. Ce membre est obligatoire si lpSource fait référence à un EXE ou à une DLL.

lpApplicationName

Nom de l’application actuelle. Si la valeur de ce membre est définie sur Null, le nom de l’exécutable qui a lancé le processus actuel est utilisé.

hModule

Utilisez ce membre plutôt que lpSource si vous avez déjà chargé une DLL et que vous souhaitez l’utiliser pour créer des contextes d’activation au lieu d’utiliser un chemin dans lpSource. Consultez lpResourceName pour connaître les règles de recherche de ressources dans ce module.

Remarques

Si le fichier identifié par la valeur du membre lpSource est un fichier image PE, CreateActCtx recherche le manifeste dans le fichier .manifest situé dans le même répertoire et dans le premier RT_MANIFEST ressource situé dans le fichier image PE. Pour rechercher une ressource nommée spécifique à partir de l’image, définissez lpResourceName sur le nom de la ressource, puis ajoutez le ACTCTX_FLAG_RESOURCE_NAME_VALID au membre dwFlags . Pour plus d’informations sur la spécification des noms de ressources, consultez FindResource .

Dans la plupart des cas, l’appelant ne doit pas définir les ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID et ACTCTX_FLAG_LANGID_VALID indicateurs du membre dwFlags . En outre, dans la plupart des cas, la valeur du membre lpResourceName doit être définie sur null.

Les valeurs de lpApplicationName et lpAssemblyDirectory ne sont pas définies sur null lorsque l’exécutable qui crée le contexte d’activation est un hôte pour l’application. Dans ce cas, l’hôte peut définir un nom différent pour que l’application recherche les fichiers de configuration, signale des erreurs, etc.

Notes

L’en-tête winbase.h définit ACTCTX en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winbase.h (inclure Windows.h)

Voir aussi

ACTCTX_SECTION_KEYED_DATA

CreateActCtx