InitializeContext-Funktion (winbase.h)
Initialisiert eine CONTEXT- Struktur 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 zum Speichern eines Kontextdatensatzes erforderliche Puffergröße mit dem angegebenen ContextFlags-zu bestimmen.
[in] ContextFlags
Ein Wert, der angibt, welche Teile der Context-Struktur initialisiert werden sollen. Dieser Parameter beeinflusst die Größe der initialisierten Context-Struktur.
[out, optional] Context
Ein Zeiger auf eine Variable, die die Adresse der initialisierten CONTEXT- Struktur innerhalb der Buffer-empfängt.
[in, out] ContextLength
Gibt bei der Eingabe die Länge des Puffers an, auf den Pufferin Byte verweist. Wenn der Puffer nicht groß genug ist, um die angegebenen Teile des CONTEXT-zu enthalten, schlägt die Funktion fehl, GetLastError gibt ERROR_INSUFFICIENT_BUFFERzurück, und ContextLength- auf die erforderliche Größe des Puffers festgelegt ist. Wenn die Funktion mit einem anderen Fehler als ERROR_INSUFFICIENT_BUFFERfehlschlägt, sind die Inhalte ContextLength- nicht definiert.
Rückgabewert
Diese Funktion gibt bei erfolgreicher Ausführung TRUE zurück, andernfalls FALSE. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
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 die CONTEXT_XSTATEContextFlag- angegeben wird, da sich die erforderliche Kontextgröße und Ausrichtung je nach aktivierter Prozessorfeatures auf dem System ändern kann.
Rufen Sie zunächst diese Funktion mit dem parameter ContextFlags auf die maximale Anzahl von Features auf, die Sie verwenden werden, und den parameter BufferNULL. Die Funktion gibt die erforderliche Puffergröße in Byte im ContextLength Parameter zurück. Weisen Sie genügend Speicherplatz für die Daten im Buffer- zu, und rufen Sie die Funktion erneut auf, um die Context-zu initialisieren. Nach erfolgreichem Abschluss dieser Routine wird das ContextFlags Member der Context-Struktur initialisiert, aber die restlichen Inhalte der Struktur sind nicht definiert. Einige bits, die im ContextFlags Parameter angegeben sind, werden möglicherweise nicht in Contextfestgelegt –>ContextFlags, wenn sie vom System nicht unterstützt werden. Anwendungen können anschließend, aber niemals Bits aus dem ContextFlags Member von CONTEXThinzufü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 mit GetModuleHandle- für "Kernel32.dll" abrufen, gefolgt von Aufrufen von GetProcAddress. Weitere Informationen finden Sie unter Arbeiten mit XState Context.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 7 mit SP1 [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows Server 2008 R2 mit SP1 [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | winbase.h (enthalten Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |