Condividi tramite


Funzione LocateXStateFeature (winbase.h)

Recupera un puntatore allo stato del processore per una funzionalità XState all'interno di una struttura CONTEXT .

La definizione dei bit di funzionalità XState è specifica del fornitore del processore. Per altre informazioni su una particolare funzionalità, vedere i manuali di riferimento del processore pertinenti.

Sintassi

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

Parametri

[in] Context

Puntatore a una struttura CONTEXT contenente lo stato da recuperare o impostare. Questo contesto deve essere stato inizializzato con InitializeContext con il flag CONTEXT_XSTATE impostato nel parametro ContextFlags .

[in] FeatureId

Numero della funzionalità da individuare all'interno della struttura CONTEXT .

[out, optional] Length

Puntatore a una variabile che riceve la lunghezza dell'area di funzionalità in byte. Il contenuto di questa variabile non è definito se questa funzione restituisce NULL.

Valore restituito

Se la funzionalità specificata è supportata dal sistema e la struttura CONTEXT specificata è stata inizializzata con il flag CONTEXT_XSTATE , questa funzione restituisce un puntatore all'area di funzionalità per la funzionalità specificata. Il contenuto e il layout di questa area sono specifici del processore.

Se il flag CONTEXT_XSTATE non è impostato nella struttura CONTEXT o featureID non è supportato dal sistema, il valore restituito è NULL. Non sono disponibili informazioni aggiuntive sull'errore.

Commenti

La funzione LocateXStateFeature deve essere usata per trovare una singola funzionalità XState all'interno di una struttura CONTEXT estendibile. Le funzionalità non sono necessariamente contigue in memoria e le applicazioni non devono presupporre che l'offset tra due funzionalità consecutive rimanga costante in futuro.

Il parametro FeatureID della funzione corrisponde a un bit all'interno della maschera di funzionalità. Ad esempio, FeatureId 2 corrisponde a una maschera di funzionalità pari a 4 in SetXStateFeaturesMask. I valori FeatureID di 0 e 1 corrispondono rispettivamente allo stato FPU X87 e allo stato SSE.

Se si imposta XState su un thread tramite le API SetThreadContext o Wow64SetThreadContext , è necessario chiamare anche SetXStateFeaturesMask sulla struttura CONTEXT con il valore mask della funzionalità compilata per contrassegnare la funzionalità come attiva.

Windows 7 con SP1 e Windows Server 2008 R2 con SP1: L'API AVX viene implementata per la prima volta in Windows 7 con SP1 e Windows Server 2008 R2 con SP1 . Poiché non esiste alcun SDK per SP1, significa che non sono disponibili intestazioni e file di libreria da usare. In questo caso, un chiamante deve dichiarare le funzioni necessarie da questa documentazione e ottenere i puntatori usando GetModuleHandle in "Kernel32.dll", seguito dalle chiamate a GetProcAddress. Per informazioni dettagliate , vedere Uso del contesto XState .

Requisiti

Requisito Valore
Client minimo supportato Windows 7 con SP1 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 con SP1 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

CONTESTO

Intel AVX

SetThreadContext

SetXStateFeaturesMask

Utilizzo del contesto XState

Wow64SetThreadContext