InitializeContext-Funktion (winbase.h)
Initialisiert eine Struktur CONTEXT innerhalb eines Puffers mit der erforderlichen Größe und Ausrichtung.
Syntax
BOOL InitializeContext(
[out, optional] PVOID Buffer,
[in] DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength
);
Parameter
[out, optional] Buffer
Ein Zeiger auf einen Puffer, in dem eine CONTEXT-Struktur initialisiert werden soll. Dieser Parameter kann NULL sein, um die Puffergröße zu bestimmen, die erforderlich ist, um einen Kontextdatensatz mit den angegebenen ContextFlags zu enthalten.
[in] ContextFlags
Ein Wert, der angibt, welche Teile der Kontextstruktur initialisiert werden sollen. Dieser Parameter beeinflusst die Größe der initialisierten Kontextstruktur .
[out, optional] Context
Ein Zeiger auf eine Variable, die die Adresse der initialisierten CONTEXT-Struktur im Puffer empfängt.
[in, out] ContextLength
Gibt bei der Eingabe die Länge des Puffers an, auf den puffer in Bytes verweist. Wenn der Puffer nicht groß genug ist, um die angegebenen Teile von CONTEXT zu enthalten, schlägt die Funktion fehl, GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück, und ContextLength ist auf die erforderliche Größe des Puffers festgelegt. Wenn die Funktion mit einem anderen Fehler als ERROR_INSUFFICIENT_BUFFER fehlschlägt, ist der Inhalt von ContextLength nicht definiert.
Rückgabewert
Diese Funktion gibt bei erfolgreicher Ausführung TRUE zurück, andernfalls FALSE. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
InitializeContext kann verwendet werden, um eine CONTEXT-Struktur in einem Puffer mit den erforderlichen Größen- und Ausrichtungsmerkmalen zu initialisieren. Diese Routine ist erforderlich, wenn der CONTEXT_XSTATEContextFlag angegeben wird, da sich die erforderliche Kontextgröße und Ausrichtung je nachdem ändern kann, welche Prozessorfeatures auf dem System aktiviert sind.
Rufen Sie zunächst diese Funktion auf, wobei der ContextFlags-Parameter auf die maximale Anzahl von Features festgelegt ist, die Sie verwenden werden, und dem Buffer-Parameter auf NULL. Die Funktion gibt die erforderliche Puffergröße in Bytes im Parameter ContextLength zurück. Weisen Sie genügend Speicherplatz für die Daten im Puffer zu , und rufen Sie die Funktion erneut auf, um den Kontext zu initialisieren. Nach erfolgreichem Abschluss dieser Routine wird das ContextFlags-Element der Kontextstruktur initialisiert, aber der verbleibende Inhalt der Struktur ist nicht definiert. Einige bits, die im ContextFlags-Parameter angegeben sind, werden möglicherweise nicht in Context-ContextFlags> festgelegt, wenn sie vom System nicht unterstützt werden. Anwendungen können anschließend Bits aus dem ContextFlags-Member von CONTEXT entfernen, dürfen sie jedoch nie hinzufügen.
Windows 7 mit SP1 und Windows Server 2008 R2 mit SP1: Die AVX-API wird zuerst unter Windows 7 mit SP1 und Windows Server 2008 R2 mit SP1 implementiert. Da es kein SDK für SP1 gibt, bedeutet dies, dass keine Header und Bibliotheksdateien verfügbar sind, mit denen Sie arbeiten können. In dieser Situation muss ein Aufrufer die erforderlichen Funktionen aus dieser Dokumentation deklarieren und Zeiger darauf mithilfe von GetModuleHandle auf „Kernel32.dll“ gefolgt von Aufrufen von GetProcAddress abrufen. Weitere Informationen finden Sie unter Arbeiten mit dem XState-Kontext .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 mit SP1 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 mit SP1 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für