Compartir a través de


Estructura ACTCTXA (winbase.h)

La estructura ACTCTX la usa la función CreateActCtx para crear el contexto de activación.

Sintaxis

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

Miembros

cbSize

Tamaño, en bytes, de esta estructura. Se usa para determinar la versión de esta estructura.

dwFlags

Marcas que indican cómo se usarán los valores incluidos en esta estructura. Establezca los bits no definidos en dwFlags en 0. Si los bits no definidos no están establecidos en 0, se produce un error en la llamada a CreateActCtx que crea el contexto de activación y devuelve un código de error de parámetro no válido.

Marca de bit Significado
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

Cadena terminada en NULL que especifica la ruta de acceso del archivo de manifiesto o la imagen pe que se va a usar para crear el contexto de activación. Si esta ruta de acceso hace referencia a un archivo EXE o DLL, se requiere el miembro lpResourceName .

wProcessorArchitecture

Identifica el tipo de procesador utilizado. Especifica la arquitectura del procesador del sistema.

Este valor puede ser uno de los siguientes valores:

wLangId

Especifica el manifiesto de idioma que se debe usar. El valor predeterminado es el idioma actual de la interfaz de usuario del usuario actual.

Si no se encuentra el idioma solicitado, se busca una aproximación con el siguiente orden:

  • Idioma específico del usuario actual. Por ejemplo, para inglés de EE. UU. (1033).
  • Idioma principal del usuario actual. Por ejemplo, para inglés (9).
  • Idioma específico del sistema actual.
  • Idioma principal del sistema actual.
  • Un idioma no específico en todo el mundo. Idioma neutro (0).

lpAssemblyDirectory

Directorio base en el que se va a realizar un sondeo de ensamblado privado si los ensamblados del contexto de activación no están presentes en el almacén en todo el sistema.

lpResourceName

Puntero a una cadena terminada en null que contiene el nombre del recurso que se va a cargar desde el PE especificado en hModule o lpSource. Si el nombre del recurso es un entero, establezca este miembro mediante MAKEINTRESOURCE. Este miembro es necesario si lpSource hace referencia a un archivo EXE o DLL.

lpApplicationName

Nombre de la aplicación actual. Si el valor de este miembro se establece en NULL, se usa el nombre del ejecutable que inició el proceso actual.

hModule

Use este miembro en lugar de lpSource si ya ha cargado un archivo DLL y desea usarlo para crear contextos de activación en lugar de usar una ruta de acceso en lpSource. Consulte lpResourceName para conocer las reglas de búsqueda de recursos en este módulo.

Comentarios

Si el archivo identificado por el valor del miembro lpSource es un archivo de imagen PE, CreateActCtx busca el manifiesto en el archivo .manifest ubicado en el mismo directorio y en el primer recurso de RT_MANIFEST ubicado en el archivo de imagen PE. Para buscar un recurso con nombre específico de la imagen, establezca lpResourceName en el nombre del recurso y agregue el ACTCTX_FLAG_RESOURCE_NAME_VALID al miembro dwFlags . Consulte FindResource para obtener más información sobre cómo especificar nombres de recursos.

En la mayoría de los casos, el autor de la llamada no debe establecer las marcas ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID y ACTCTX_FLAG_LANGID_VALID del miembro dwFlags . Además, en la mayoría de los casos, el valor del miembro lpResourceName debe establecerse en null.

Los valores de lpApplicationName y lpAssemblyDirectory no se establecen en NULL cuando el ejecutable que crea el contexto de activación es un host para la aplicación. En este caso, el host puede establecer un nombre diferente para que la aplicación busque archivos de configuración, informe de errores, etc.

Nota

El encabezado winbase.h define ACTCTX como un alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winbase.h (incluya Windows.h)

Consulte también

ACTCTX_SECTION_KEYED_DATA

CreateActCtx