Compartilhar via


Função LocateXStateFeature (winbase.h)

Recupera um ponteiro para o estado do processador para um recurso XState em uma estrutura CONTEXT.

A definição de bits de recurso XState é específica do fornecedor do processador. Consulte os manuais de referência do processador relevantes para obter informações adicionais sobre um recurso específico.

Sintaxe

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

Parâmetros

[in] Context

Um ponteiro para uma estrutura CONTEXT que contém o estado a ser recuperado ou definido. Esse CONTEXT deveria ter sido inicializado com InitializeContext com o sinalizador CONTEXT_XSTATE definido no parâmetro ContextFlags .

[in] FeatureId

O número do recurso a ser localizado dentro da estrutura CONTEXT .

[out, optional] Length

Um ponteiro para uma variável que recebe o comprimento da área de recurso em bytes. O conteúdo dessa variável será indefinido se essa função retornar NULL.

Retornar valor

Se o recurso especificado for compatível com o sistema e a estrutura CONTEXT especificada tiver sido inicializada com o sinalizador CONTEXT_XSTATE , essa função retornará um ponteiro para a área de recurso do recurso especificado. O conteúdo e o layout dessa área são específicos do processador.

Se o sinalizador CONTEXT_XSTATE não estiver definido na estrutura CONTEXT ou o FeatureID não tiver suporte do sistema, o valor retornado será NULL. Nenhuma informação de erro adicional está disponível.

Comentários

A função LocateXStateFeature deve ser usada para localizar um recurso XState individual dentro de uma estrutura CONTEXT extensível. Os recursos não são necessariamente contíguos na memória e os aplicativos não devem assumir que o deslocamento entre dois recursos consecutivos permanecerá constante no futuro.

O parâmetro FeatureID da função corresponde a um bit dentro da máscara de recursos. Por exemplo, FeatureId 2 corresponde a um FeatureMask de 4 em SetXStateFeaturesMask. Os valores featureID de 0 e 1 correspondem ao estado de FPU X87 e ao estado SSE, respectivamente.

Se você estiver definindo XState em um thread por meio das APIs SetThreadContext ou Wow64SetThreadContext , também deverá chamar SetXStateFeaturesMask na estrutura CONTEXT com o valor de máscara do recurso preenchido para marcar o recurso como ativo.

Windows 7 com SP1 e Windows Server 2008 R2 com SP1: A API AVX é implementada pela primeira vez no Windows 7 com SP1 e Windows Server 2008 R2 com SP1 . Como não há nenhum SDK para SP1, isso significa que não há cabeçalhos e arquivos de biblioteca disponíveis para trabalhar. Nessa situação, um chamador deve declarar as funções necessárias desta documentação e obter ponteiros para elas usando GetModuleHandle em "Kernel32.dll", seguido por chamadas para GetProcAddress. Consulte Trabalhando com o contexto XState para obter detalhes.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 com SP1 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 com SP1 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CONTEXTO

Intel AVX

SetThreadContext

SetXStateFeaturesMask

Como trabalhar com o contexto XState

Wow64SetThreadContext