Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Inicializa uma estrutura CONTEXT dentro de um buffer com o tamanho e o alinhamento necessários, com a opção de especificar uma máscara de compactação XSTATE.
Sintaxe
BOOL InitializeContext2(
[out, optional] PVOID Buffer,
DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength,
ULONG64 XStateCompactionMask
);
Parâmetros
[out, optional] Buffer
Um ponteiro para um buffer no qual inicializar uma estrutura CONTEXT . Esse parâmetro pode ser NULL para determinar o tamanho do buffer necessário para manter um registro de contexto com o ContextFlags especificado.
ContextFlags
Um valor que indica quais partes da estrutura contextual devem ser inicializadas. Esse parâmetro influencia o tamanho da estrutura de contexto inicializada.
[out, optional] Context
Um ponteiro para uma variável que recebe o endereço da estrutura CONTEXT inicializada dentro do Buffer.
[in, out] ContextLength
Na entrada, especifica o comprimento do buffer apontado pelo Buffer, em bytes. Se o buffer não for grande o suficiente para conter as partes especificadas do CONTEXT, a função falhará, GetLastError retornará ERROR_INSUFFICIENT_BUFFER e ContextLength será definido como o tamanho necessário do buffer. Se a função falhar com um erro diferente de ERROR_INSUFFICIENT_BUFFER, o conteúdo de ContextLength será indefinido.
XStateCompactionMask
Fornece a máscara de compactação XState a ser usada ao alocar a estrutura contextual . Esse parâmetro só é usado quando CONTEXT_XSTATE é fornecido ao ContextFlags e o sistema tem o XState habilitado no modo de compactação.
Valor de retorno
Essa função retornará TRUE se tiver êxito, caso contrário, FALSE. Para obter informações de erro estendidas, chame GetLastError.
Observações
InitializeContext pode ser usado para inicializar uma estrutura CONTEXT em um buffer com as características de tamanho e alinhamento necessárias. Essa rotina será necessária se o CONTEXT_XSTATEContextFlag for especificado, pois o tamanho e o alinhamento de contexto necessários podem mudar dependendo de quais recursos de processador estão habilitados no sistema.
Primeiro, chame essa função com o parâmetro ContextFlags definido como o número máximo de recursos que você usará e o parâmetro Buffer como NULL. A função retorna o tamanho do buffer necessário em bytes no parâmetro ContextLength . Aloque espaço suficiente para os dados no Buffer e chame a função novamente para inicializar o Contexto. Após a conclusão bem-sucedida dessa rotina, o membro ContextFlags da estrutura contextual é inicializado, mas o conteúdo restante da estrutura é indefinido. Alguns bits especificados no parâmetro ContextFlags poderão não ser definidos em Context-ContextFlags> se não tiverem suporte do sistema. Os aplicativos podem remover, mas nunca devem adicionar, bits do membro ContextFlags do CONTEXT.
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 de chamadas para GetProcAddress. Consulte Como trabalhar com o contexto XState para obter detalhes.
Quando xState está habilitado no modo de compactação, especificar um XStateCompactionMask que contém apenas um subconjunto dos componentes XState habilitados pode diminuir o tamanho do buffer necessário para armazenar o Contexto. Isso é particularmente útil se o sistema tiver muitos componentes XState habilitados, mas o Contexto só será usado para afetar um pequeno número de componentes XState. O conjunto completo de componentes XState habilitados pode ser obtido chamando GetEnabledXStateFeatures. Essa função copia a máscara de compactação XState especificada para o local relevante no cabeçalho XState.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo suportado | Windows 10 Build 20348 |
| Servidor mínimo compatível | Windows 10 Build 20348 |
| Header | winbase.h |
| Library | kernel32. Lib |