Share via


ACTCTXW-Struktur (winbase.h)

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

Syntax

typedef struct tagACTCTXW {
  ULONG   cbSize;
  DWORD   dwFlags;
  LPCWSTR lpSource;
  USHORT  wProcessorArchitecture;
  LANGID  wLangId;
  LPCWSTR lpAssemblyDirectory;
  LPCWSTR lpResourceName;
  LPCWSTR lpApplicationName;
  HMODULE hModule;
} ACTCTXW, *PACTCTXW;

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 undefinierten 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-terminierte 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 verwendeten Prozessortyp 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 Näherung in der folgenden Reihenfolge gesucht:

  • Die spezifische Sprache des aktuellen Benutzers. Beispielsweise für US-Englisch (1033).
  • Die primäre Sprache des aktuellen Benutzers. Beispielsweise für 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überprüfungen ausgeführt werden sollen, wenn Assemblys im Aktivierungskontext nicht im systemweiten Speicher vorhanden sind.

lpResourceName

Zeiger auf eine NULL-endende 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 diesen Member anstelle von lpSource , wenn Sie bereits eine DLL geladen haben und sie verwenden möchten, um Aktivierungskontexte zu erstellen, 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, die sich im selben Verzeichnis und in der ersten RT_MANIFEST Ressource befindet, die sich in der PE-Imagedatei befindet. 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-Element 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-Elements 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 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

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

Weitere Informationen

ACTCTX_SECTION_KEYED_DATA

CreateActCtx