Функция InitializeContext2 (winbase.h)
Инициализирует структуру контекста
Синтаксис
BOOL InitializeContext2(
[out, optional] PVOID Buffer,
DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength,
ULONG64 XStateCompactionMask
);
Параметры
[out, optional] Buffer
Указатель на буфер, в котором инициализировать структуру CONTEXT. Этот параметр можно null, чтобы определить размер буфера, необходимый для хранения записи контекста с указанным ContextFlags.
ContextFlags
Значение, указывающее, какие части структуры контекста
[out, optional] Context
Указатель на переменную, которая получает адрес инициализированной структуры контекста буфера.
[in, out] ContextLength
В входных данных указывает длину буфера, на который указывает буферв байтах. Если буфер недостаточно велик, чтобы содержать указанные части CONTEXT, функция завершается ошибкой, GetLastError возвращает ERROR_INSUFFICIENT_BUFFER, а ContextLength имеет требуемый размер буфера. Если функция завершается ошибкой, отличной от ERROR_INSUFFICIENT_BUFFER, содержимое ContextLength не определено.
XStateCompactionMask
Предоставляет маску сжатия XState, которая будет использоваться при выделении структуры контекста
Возвращаемое значение
Эта функция возвращает TRUE в случае успешного выполнения, в противном случае FALSE. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
InitializeContext можно использовать для инициализации структуры CONTEXT в буфере с необходимыми характеристиками размера и выравнивания. Эта подпрограмма требуется, если указан CONTEXT_XSTATEContextFlag, так как требуемый размер контекста и выравнивание может измениться в зависимости от того, какие функции процессора включены в системе.
Сначала вызовите эту функцию с параметром ContextFlags
Если XState включен в режиме сжатия, указание XStateCompactionMask, содержащей только подмножество компонентов XState, может уменьшить размер буфера, необходимый для хранения контекста. Это особенно полезно, если в системе включено множество компонентов XState, но Контекст будет использоваться только для влияния на небольшое количество компонентов XState. Полный набор компонентов XState можно получить путем вызова GetEnabledXStateFeatures. Эта функция копирует указанную маску сжатия XState в соответствующее расположение в заголовке XState.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Сборка Windows 10 20348 |
минимальный поддерживаемый сервер | Сборка Windows 10 20348 |
заголовка | winbase.h |