Condividi tramite


Struttura ACTCTXA (winbase.h)

La struttura ACTCTX viene utilizzata 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;

Membri

cbSize

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

dwFlags

Flag che indicano come usare i valori inclusi in questa struttura. Impostare tutti i 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 del parametro non valido.

Flag di 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 utilizzato. 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 (1033).
  • Lingua primaria dell'utente corrente. Ad esempio, per inglese (9).
  • Lingua specifica del sistema corrente.
  • Lingua primaria del sistema corrente.
  • Una lingua non specifica in tutto il mondo. Indipendente dalla lingua (0).

lpAssemblyDirectory

Directory di base in cui eseguire il probe 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 dal pe specificato in hModule o lpSource. Se il nome della risorsa è un numero 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 utilizzato il nome dell'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. Per le regole di ricerca delle risorse in questo modulo, vedere lpResourceName.

Osservazioni

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 che si trova nel file di immagine PE. Per trovare una risorsa denominata specifica dall'immagine, impostare il 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 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 l'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 i file di configurazione, segnalare gli 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 indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

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)

Vedere anche

ACTCTX_SECTION_KEYED_DATA

CreateActCtx