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.
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) |