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 les bits non définis dans dwFlags sur 0. Si aucun bits non défini n’est défini 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 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.
  • Une langue mondiale non spécifique. Neutre en langue (0).

lpAssemblyDirectory

Répertoire de base dans lequel effectuer une détection 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 du 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 requis si lpSource fait référence à une DLL ou EXE.

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 souhaitez l’utiliser pour créer des contextes d’activation plutôt que 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 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 le 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 indicateurs ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID et ACTCTX_FLAG_LANGID_VALID 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 des fichiers de configuration, signaler des erreurs, etc.

Note

L’en-tête winbase.h définit ACTCTX comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
d’en-tête winbase.h (inclure Windows.h)

Voir aussi

ACTCTX_SECTION_KEYED_DATA

CreateActCtx