Функция LocateXStateFeature (winbase.h)
Извлекает указатель на состояние процессора для функции XState в структуре CONTEXT .
Определение битов признаков XState зависит от поставщика процессора. Дополнительные сведения о конкретной функции см. в справочных руководствах по соответствующему процессору.
Синтаксис
PVOID LocateXStateFeature(
[in] PCONTEXT Context,
[in] DWORD FeatureId,
[out, optional] PDWORD Length
);
Параметры
[in] Context
Указатель на структуру CONTEXT , содержащую извлекаемое или устанавливаемое состояние. Этот CONTEXT должен быть инициализирован с помощью InitializeContext с флагом CONTEXT_XSTATE , установленным в параметре ContextFlags .
[in] FeatureId
Номер компонента, который необходимо найти в структуре CONTEXT .
[out, optional] Length
Указатель на переменную, которая получает длину области признаков в байтах. Содержимое этой переменной не определено, если эта функция возвращает значение NULL.
Возвращаемое значение
Если указанная функция поддерживается системой и указанная структура CONTEXT инициализирована флагом CONTEXT_XSTATE , эта функция возвращает указатель на область признаков для указанного компонента. Содержимое и макет этой области зависят от процессора.
Если флаг CONTEXT_XSTATE не задан в структуре CONTEXT или featureID не поддерживается системой, возвращается значение NULL. Дополнительные сведения об ошибке недоступны.
Комментарии
Функция LocateXStateFeature должна использоваться для поиска отдельного компонента XState в расширяемой структуре CONTEXT . Функции не обязательно являются непрерывными в памяти, и приложения не должны предполагать, что смещение между двумя последовательными функциями останется неизменным в будущем.
Параметр FeatureID функции соответствует биту в маске компонента. Например, FeatureId 2 соответствует компоненту FeatureMask 4 в SetXStateFeaturesMask. Значения FeatureID 0 и 1 соответствуют состоянию FPU X87 и состоянию SSE соответственно.
Если вы настраиваете XState в потоке с помощью API SetThreadContext или Wow64SetThreadContext , необходимо также вызвать Метод SetXStateFeaturesMask в структуре CONTEXT со значением маски заполненного компонента, чтобы пометить функцию как активную.
Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1): API AVX впервые реализован в Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1). Так как пакет SDK для с пакетом обновления 1 (SP1) отсутствует, это означает, что нет доступных заголовков и файлов библиотек для работы. В этом случае вызывающий объект должен объявить необходимые функции из этой документации и получить указатели на них с помощью GetModuleHandle на Kernel32.dll, а затем вызовы GetProcAddress. Дополнительные сведения см. в статье Работа с контекстом XState .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 с пакетом обновления 1 (SP1) [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 R2 с пакетом обновления 1 (SP1) [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |