Condividi tramite


Struttura ACTCTXA (winbase.h)

La struttura ACTCTX viene usata dalla funzione CreateActCtx per creare il contesto di attivazione.

Sintassi

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

Members

cbSize

Dimensione, in byte, della struttura. Viene usato per determinare la versione di questa struttura.

dwFlags

Flag che indicano come devono essere usati i valori inclusi in questa struttura. Impostare eventuali bit non definiti in dwFlags su 0. Se i bit non definiti non sono impostati su 0, la chiamata a CreateActCtx che crea il contesto di attivazione ha esito negativo e restituisce un codice di errore di parametro non valido.

Flag bit Significato
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

Stringa con terminazione null che specifica il percorso del file manifesto o dell'immagine PE da usare per creare il contesto di attivazione. Se questo percorso fa riferimento a un file EXE o DLL, è necessario il membro lpResourceName .

wProcessorArchitecture

Identifica il tipo di processore usato. Specifica l'architettura del processore del sistema.

Questo valore può essere uno dei valori seguenti:

wLangId

Specifica il manifesto della lingua che deve essere usato. Il valore predefinito è la lingua corrente dell'interfaccia utente dell'utente corrente.

Se non è possibile trovare la lingua richiesta, viene cercata un'approssimazione usando l'ordine seguente:

  • Lingua specifica dell'utente corrente. Ad esempio, per l'inglese statunitense (1033).
  • Lingua primaria dell'utente corrente. Ad esempio, per l'inglese (9).
  • Lingua specifica del sistema corrente.
  • Lingua primaria del sistema corrente.
  • Lingua non specifica in tutto il mondo. Lingua neutrale (0).

lpAssemblyDirectory

Directory di base in cui eseguire il probing dell'assembly privato se gli assembly nel contesto di attivazione non sono presenti nell'archivio a livello di sistema.

lpResourceName

Puntatore a una stringa con terminazione null contenente il nome della risorsa da caricare dall'oggetto PE specificato in hModule o lpSource. Se il nome della risorsa è un intero, impostare questo membro usando MAKEINTRESOURCE. Questo membro è obbligatorio se lpSource fa riferimento a un file EXE o DLL.

lpApplicationName

Nome dell'applicazione corrente. Se il valore di questo membro è impostato su Null, viene usato il nome del file eseguibile che ha avviato il processo corrente.

hModule

Usare questo membro anziché lpSource se è già stata caricata una DLL e si vuole usarla per creare contesti di attivazione anziché usare un percorso in lpSource. Vedere lpResourceName per le regole di ricerca delle risorse in questo modulo.

Commenti

Se il file identificato dal valore del membro lpSource è un file di immagine PE, CreateActCtx cerca il manifesto nel file manifesto che si trova nella stessa directory e nella prima risorsa RT_MANIFEST situata nel file di immagine PE. Per trovare una risorsa denominata specifica dall'immagine, impostare lpResourceName sul nome della risorsa e aggiungere il ACTCTX_FLAG_RESOURCE_NAME_VALID al membro dwFlags . Per altre informazioni sulla specifica dei nomi delle risorse, vedere FindResource .

Nella maggior parte dei casi, il chiamante non deve impostare i flag di ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID e ACTCTX_FLAG_LANGID_VALID del membro dwFlags . Inoltre, nella maggior parte dei casi, il valore del membro lpResourceName deve essere impostato su Null.

I valori di lpApplicationName e lpAssemblyDirectory non sono impostati su Null quando il file eseguibile che crea il contesto di attivazione è un host per l'applicazione. In questo caso, l'host può impostare un nome diverso per l'applicazione per trovare file di configurazione, segnalare errori e così via.

Nota

L'intestazione winbase.h definisce ACTCTX come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winbase.h (include Windows.h)

Vedi anche

ACTCTX_SECTION_KEYED_DATA

CreateActCtx