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;

Angehörige

cbSize

Die Größe dieser Struktur in Byte. 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- fehl, der den Aktivierungskontext erstellt, und gibt einen ungültigen Parameterfehlercode zurück.

Bitkennzeichnung 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 sich dieser Pfad auf eine EXE- oder DLL-Datei bezieht, ist das lpResourceName Member 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 des aktuellen Benutzers.

Wenn die angeforderte Sprache nicht gefunden werden kann, wird eine Annäherung anhand der folgenden Reihenfolge gesucht:

  • Die spezifische Sprache des aktuellen Benutzers. Beispiel: für US-Englisch (1033).
  • Die primäre Sprache des aktuellen Benutzers. Beispiel: für Englisch (9).
  • Die spezifische Sprache des aktuellen Systems.
  • Die primäre Sprache des aktuellen Systems.
  • Eine unspezifische weltspezifische Sprache. Sprache neutral (0).

lpAssemblyDirectory

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

lpResourceName

Zeiger auf eine mit Null beendete 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 dieses Element mithilfe von MAKEINTRESOURCE fest. Dieses Element ist erforderlich, wenn lpSource- auf eine EXE oder DLL verweist.

lpApplicationName

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

hModule

Verwenden Sie dieses Element anstelle lpSource-, wenn Sie bereits eine DLL geladen haben und sie zum Erstellen von Aktivierungskontexten verwenden möchten, anstatt einen Pfad in lpSourcezu verwenden. Die Regeln zum Nachschlagen von Ressourcen in diesem Modul finden Sie unter lpResourceName-.

Bemerkungen

Wenn die datei, die durch den Wert des lpSource Members identifiziert wurde, eine PE-Bilddatei ist, sucht CreateActCtx nach dem Manifest in der MANIFESTdatei im selben Verzeichnis und in der ersten RT_MANIFEST Ressource in der PE-Bilddatei. Um eine bestimmte benannte Ressource aus dem Bild zu finden, legen Sie die lpResourceName- auf den Namen der Ressource fest, und fügen Sie die ACTCTX_FLAG_RESOURCE_NAME_VALID dem dwFlags Member 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 Members nicht festlegen. Außerdem sollte in den meisten Fällen der Wert des lpResourceName Member 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.

Anmerkung

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 Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Header- winbase.h (enthalten Windows.h)

Siehe auch

ACTCTX_SECTION_KEYED_DATA

CreateActCtx-