Freigeben über


LocateXStateFeature-Funktion (winbase.h)

Ruft einen Zeiger auf den Prozessorstatus für ein XState-Feature innerhalb einer Struktur CONTEXT ab.

Die Definition von XState-Featurebits ist prozessorherstellerspezifisch. Weitere Informationen zu einem bestimmten Feature finden Sie in den relevanten Referenzhandbüchern des Prozessors.

Syntax

PVOID LocateXStateFeature(
  [in]            PCONTEXT Context,
  [in]            DWORD    FeatureId,
  [out, optional] PDWORD   Length
);

Parameter

[in] Context

Ein Zeiger auf eine CONTEXT-Struktur , die den abzurufenden oder festzulegenden Zustand enthält. Dieser CONTEXT sollte mit InitializeContext mit dem im ContextFlags-Parameter festgelegten CONTEXT_XSTATE-Flag initialisiert werden.

[in] FeatureId

Die Anzahl des Features, nach dem innerhalb der CONTEXT-Struktur gesucht werden soll.

[out, optional] Length

Ein Zeiger auf eine Variable, die die Länge des Featurebereichs in Bytes empfängt. Der Inhalt dieser Variablen ist nicht definiert, wenn diese Funktion NULL zurückgibt.

Rückgabewert

Wenn das angegebene Feature vom System unterstützt wird und die angegebene CONTEXT-Struktur mit dem CONTEXT_XSTATE-Flag initialisiert wurde, gibt diese Funktion einen Zeiger auf den Featurebereich für das angegebene Feature zurück. Der Inhalt und das Layout dieses Bereichs sind prozessorspezifisch.

Wenn das CONTEXT_XSTATE-Flag in der CONTEXT-Struktur nicht festgelegt ist oder die FeatureID vom System nicht unterstützt wird, ist der Rückgabewert NULL. Es sind keine zusätzlichen Fehlerinformationen verfügbar.

Hinweise

Die LocateXStateFeature-Funktion muss verwendet werden, um ein einzelnes XState-Feature in einer erweiterbaren CONTEXT-Struktur zu finden. Features sind im Arbeitsspeicher nicht unbedingt zusammenhängend, und Anwendungen sollten nicht davon ausgehen, dass der Offset zwischen zwei aufeinanderfolgenden Features in Zukunft konstant bleibt.

Der FeatureID-Parameter der Funktion entspricht einem Bit innerhalb der Featuremaske. FeatureId 2 entspricht beispielsweise einer FeatureMask von 4 in SetXStateFeaturesMask. FeatureID-Werte von 0 und 1 entsprechen dem X87-FPU-Zustand bzw. dem SSE-Zustand.

Wenn Sie XState für einen Thread über die SetThreadContext - oder Wow64SetThreadContext-APIs festlegen, müssen Sie auch SetXStateFeaturesMask für die CONTEXT-Struktur mit dem Maskenwert des ausgefüllten Features aufrufen, um das Feature als aktiv zu markieren.

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

CONTEXT

Intel AVX

SetThreadContext

SetXStateFeaturesMask

Arbeiten mit XState-Kontext

Wow64SetThreadContext