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