Freigeben über


ACTCTXA-Struktur (winbase.h)

Die ACTCTX-Struktur wird von der CreateActCtx-Funktion verwendet, um den Aktivierungskontext zu erstellen.

Syntax

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

Member

cbSize

Die Größe (in Bytes) dieser Struktur. Dies wird verwendet, um die Version dieser Struktur zu bestimmen.

dwFlags

Flags, die angeben, wie die in dieser Struktur enthaltenen Werte verwendet werden sollen. Legen Sie alle nicht definierten Bits in dwFlags auf 0 fest. Wenn nicht definierte Bits nicht auf 0 festgelegt sind, schlägt der Aufruf von CreateActCtx , der den Aktivierungskontext erstellt, fehl und gibt einen ungültigen Parameterfehlercode zurück.

Bitflag Bedeutung
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

Null-beendete Zeichenfolge, die den Pfad der Manifestdatei oder des PE-Images angibt, die zum Erstellen des Aktivierungskontexts verwendet werden soll. Wenn dieser Pfad auf eine EXE- oder DLL-Datei verweist, ist das lpResourceName-Element erforderlich.

wProcessorArchitecture

Gibt den Typ des verwendeten Prozessors an. Gibt die Prozessorarchitektur des Systems an.

Dieser Wert kann einer der folgenden Werte sein:

wLangId

Gibt das Sprachmanifest an, das verwendet werden soll. Der Standardwert ist die aktuelle Benutzeroberflächensprache.

Wenn die angeforderte Sprache nicht gefunden werden kann, wird nach einer Näherung in der folgenden Reihenfolge gesucht:

  • Die spezifische Sprache des aktuellen Benutzers. Beispiel: US English (1033).
  • Die primäre Sprache des aktuellen Benutzers. Beispiel: Englisch (9).
  • Die spezifische Sprache des aktuellen Systems.
  • Die primäre Sprache des aktuellen Systems.
  • Eine unspezifische Weltsprache. Sprachneutral (0).

lpAssemblyDirectory

Das Basisverzeichnis, in dem private Assembly-Tests ausgeführt werden sollen, wenn Assemblys im Aktivierungskontext nicht im systemweiten Speicher vorhanden sind.

lpResourceName

Zeiger auf eine NULL-Zeichenfolge, die den Ressourcennamen enthält, der aus dem in hModule oder lpSource angegebenen PE geladen werden soll. Wenn der Ressourcenname eine ganze Zahl ist, legen Sie diesen Member mithilfe von MAKEINTRESOURCE fest. Dieser Member ist erforderlich, wenn lpSource auf eine EXE oder DLL verweist.

lpApplicationName

Der Name der aktuellen Anwendung. Wenn der Wert dieses Members auf NULL festgelegt ist, wird der Name der ausführbaren Datei verwendet, die den aktuellen Prozess gestartet hat.

hModule

Verwenden Sie dieses Member anstelle von lpSource , wenn Sie bereits eine DLL geladen haben und diese zum Erstellen von Aktivierungskontexten verwenden möchten, anstatt einen Pfad in lpSource zu verwenden. Die Regeln zum Suchen von Ressourcen in diesem Modul finden Sie unter lpResourceName .

Hinweise

Wenn die durch den Wert des lpSource-Members identifizierte Datei eine PE-Imagedatei ist, sucht CreateActCtx nach dem Manifest in der MANIFEST-Datei im selben Verzeichnis und in der ersten RT_MANIFEST Ressource in der PE-Imagedatei. Um eine bestimmte benannte Ressource aus dem Image zu finden, legen Sie lpResourceName auf den Namen der Ressource fest, und fügen Sie dem dwFlags-Member die ACTCTX_FLAG_RESOURCE_NAME_VALID hinzu. Weitere Informationen zum Angeben von Ressourcennamen finden Sie unter FindResource .

In den meisten Fällen sollte der Aufrufer die ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID und ACTCTX_FLAG_LANGID_VALID Flags des dwFlags-Elements nicht festlegen. Außerdem sollte in den meisten Fällen der Wert des lpResourceName-Members auf NULL festgelegt werden.

Die Werte von lpApplicationName und lpAssemblyDirectory werden nicht auf NULL festgelegt, wenn die ausführbare Datei, die den Aktivierungskontext erstellt, ein Host für die Anwendung ist. In diesem Fall kann der Host einen anderen Namen für die Anwendung festlegen, um Konfigurationsdateien zu finden, Fehler zu melden usw.

Hinweis

Der winbase.h-Header definiert ACTCTX als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winbase.h (einschließlich Windows.h)

Weitere Informationen

ACTCTX_SECTION_KEYED_DATA

CreateActCtx