Compartilhar via


Estrutura ACTCTXA (winbase.h)

A estrutura ACTCTX é usada pela função CreateActCtx para criar o contexto de ativação.

Sintaxe

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

Membros

cbSize

O tamanho, em bytes, dessa estrutura. Isso é usado para determinar a versão dessa estrutura.

dwFlags

Sinalizadores que indicam como os valores incluídos nessa estrutura devem ser usados. Defina os bits indefinidos em dwFlags como 0. Se algum bit indefinido não estiver definido como 0, a chamada para CreateActCtx que cria o contexto de ativação falhará e retornará um código de erro de parâmetro inválido.

Sinalizador de bits 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

Cadeia de caracteres terminada em nulo especificando o caminho do arquivo de manifesto ou da imagem PE a ser usada para criar o contexto de ativação. Se esse caminho se referir a um arquivo EXE ou DLL, o membro lpResourceName será necessário.

wProcessorArchitecture

Identifica o tipo de processador usado. Especifica a arquitetura do processador do sistema.

Esse valor pode ser um dos seguintes valores:

wLangId

Especifica o manifesto de idioma que deve ser usado. O padrão é o idioma atual da interface do usuário do usuário atual.

Se o idioma solicitado não puder ser encontrado, uma aproximação será pesquisada usando a seguinte ordem:

  • O idioma específico do usuário atual. Por exemplo, para inglês dos EUA (1033).
  • O idioma principal do usuário atual. Por exemplo, para inglês (9).
  • O idioma específico do sistema atual.
  • O idioma principal do sistema atual.
  • Uma linguagem mundial não específica. Idioma neutro (0).

lpAssemblyDirectory

O diretório base no qual executar a investigação de assembly privado se os assemblies no contexto de ativação não estiverem presentes no repositório em todo o sistema.

lpResourceName

Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome do recurso a ser carregado do PE especificado em hModule ou lpSource. Se o nome do recurso for um inteiro, defina esse membro usando MAKEINTRESOURCE. Esse membro será necessário se lpSource se referir a um EXE ou DLL.

lpApplicationName

O nome do aplicativo atual. Se o valor desse membro for definido como nulo, o nome do executável que iniciou o processo atual será usado.

hModule

Use esse membro em vez de lpSource se você já tiver carregado uma DLL e desejar usá-la para criar contextos de ativação em vez de usar um caminho no lpSource. Consulte lpResourceName para obter as regras de pesquisa de recursos neste módulo.

Comentários

Se o arquivo identificado pelo valor do membro lpSource for um arquivo de imagem PE, CreateActCtx pesquisa o manifesto no arquivo .manifest localizado no mesmo diretório e no primeiro RT_MANIFEST recurso localizado no arquivo de imagem PE. Para localizar um recurso nomeado específico da imagem, defina o lpResourceName como o nome do recurso e adicione o ACTCTX_FLAG_RESOURCE_NAME_VALID ao membro dwFlags . Consulte FindResource para obter mais informações sobre como especificar nomes de recursos.

Na maioria dos casos, o chamador não deve definir os sinalizadores ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID e ACTCTX_FLAG_LANGID_VALID do membro dwFlags . Além disso, na maioria dos casos, o valor do membro lpResourceName deve ser definido como nulo.

Os valores de lpApplicationName e lpAssemblyDirectory não são definidos como nulos quando o executável que cria o contexto de ativação é um host para o aplicativo. Nesse caso, o host pode definir um nome diferente para o aplicativo para localizar arquivos de configuração, relatar erros e assim por diante.

Observação

O cabeçalho winbase.h define ACTCTX como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winbase.h (incluir Windows.h)

Confira também

ACTCTX_SECTION_KEYED_DATA

CreateActCtx