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.
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) |