Structure ACTCTXW (winbase.h)
La structure ACTCTX est utilisée par la fonction CreateActCtx pour créer le contexte d’activation.
Syntaxe
typedef struct tagACTCTXW {
ULONG cbSize;
DWORD dwFlags;
LPCWSTR lpSource;
USHORT wProcessorArchitecture;
LANGID wLangId;
LPCWSTR lpAssemblyDirectory;
LPCWSTR lpResourceName;
LPCWSTR lpApplicationName;
HMODULE hModule;
} ACTCTXW, *PACTCTXW;
Membres
cbSize
Taille, en octets, de cette structure. Cela permet de 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 les 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 d’accès 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 actuelle de l’interface utilisateur 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.
- Langue mondiale non spécifique. Langue neutre (0).
lpAssemblyDirectory
Répertoire de base dans lequel effectuer un sondage d’assembly privé si les assemblys du 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 plutôt que d’utiliser un chemin d’accès 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 la première ressource RT_MANIFEST située 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 et ajoutez le ACTCTX_FLAG_RESOURCE_NAME_VALID au membre dwFlags . Pour plus d’informations sur la spécification des noms de ressources, reportez-vous à 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 autre nom pour l’application afin de rechercher les fichiers de configuration, signaler des erreurs, etc.
Notes
L’en-tête winbase.h définit ACTCTX comme un 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. Le mélange 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
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) |