Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Initialisiert eine CONTEXT-Struktur innerhalb eines Puffers mit der erforderlichen Größe und Ausrichtung, wobei die Option zum Angeben eines XSTATE-Komprimierungsformats vorhanden ist.
Syntax
BOOL InitializeContext2(
[out, optional] PVOID Buffer,
DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength,
ULONG64 XStateCompactionMask
);
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 zum Speichern eines Kontextdatensatzes mit dem angegebenen ContextFlags erforderlich ist.
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 innerhalb des Puffers empfängt.
[in, out] ContextLength
Gibt bei Eingaben die Länge des Puffers an, auf den puffer verweist, in Byte. Wenn der Puffer nicht groß genug ist, um die angegebenen Teile des KONTEXTs zu enthalten, schlägt die Funktion fehl, gibt GetLastErrorERROR_INSUFFICIENT_BUFFER zurück, und ContextLength wird auf die erforderliche Größe des Puffers festgelegt. Wenn die Funktion mit einem anderen Fehler als ERROR_INSUFFICIENT_BUFFER fehlschlägt, sind die Inhalte von ContextLength nicht definiert.
XStateCompactionMask
Stellt die XState-Komprimierungsmaske bereit, die beim Zuordnen der Kontextstruktur verwendet werden soll. Dieser Parameter wird nur verwendet, wenn CONTEXT_XSTATEfür ContextFlags bereitgestellt wird und das System XState im Komprimierungsmodus aktiviert hat.
Rückgabewert
Diese Funktion gibt WAHR zurück, wenn die Funktion erfolgreich verläuft, andernfalls FALSE. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.
Bemerkungen
InitializeContext kann verwendet werden, um eine CONTEXT-Struktur innerhalb eines Puffers mit den erforderlichen Größen- und Ausrichtungsmerkmalen zu initialisieren. Diese Routine ist erforderlich, wenn das CONTEXT_XSTATEContextFlag angegeben wird, da sich die erforderliche Kontextgröße und -ausrichtung je nach aktivierter Prozessorfeatures im System ändern kann.
Rufen Sie zunächst diese Funktion auf, wobei der Parameter ContextFlags auf die maximale Anzahl von Features festgelegt ist, die Sie verwenden werden, und den Parameter Buffer auf NULL. Die Funktion gibt die erforderliche Puffergröße in Bytes im ContextLength-Parameter 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 die restlichen Inhalte der Struktur sind nicht definiert. Einige im ContextFlags-Parameter angegebene Bits werden möglicherweise nicht in Context-ContextFlags> festgelegt, wenn sie vom System nicht unterstützt werden. Anwendungen können anschließend entfernen, dürfen aber niemals Bits aus dem ContextFlags-Element von CONTEXT 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 es keine verfügbaren Header- und Bibliotheksdateien gibt, mit denen sie arbeiten können. In diesem Fall muss ein Aufrufer die erforderlichen Funktionen aus dieser Dokumentation deklarieren und Zeiger mithilfe von "GetModuleHandle " auf "Kernel32.dll" abrufen, gefolgt von Aufrufen von GetProcAddress. Ausführliche Informationen finden Sie unter "Arbeiten mit XState-Kontext ".
Wenn XState im Komprimierungsmodus aktiviert ist, kann das Angeben einer XStateCompactionMask , die nur eine Teilmenge der aktivierten XState-Komponenten enthält, die Puffergröße verringern, die zum Speichern des Kontexts erforderlich ist. Dies ist besonders hilfreich, wenn das System viele XState-Komponenten aktiviert hat, aber der Kontext wird nur verwendet, um eine kleine Anzahl von XState-Komponenten zu beeinflussen. Der vollständige Satz aktivierter XState-Komponenten kann durch Aufrufen von GetEnabledXStateFeatures abgerufen werden. Diese Funktion kopiert die angegebene XState-Komprimierungsmaske an die relevante Position in der XState-Kopfzeile.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 10 Build 20348 |
| Mindestanforderungen für unterstützte Server | Windows 10 Build 20348 |
| Header | winbase.h |
| Library | kernel32. Befreien |