Inicializa uma estrutura de CONTEXT dentro de um buffer com o tamanho e o alinhamento necessários.
Sintaxe
BOOL InitializeContext(
[out, optional] PVOID Buffer,
[in] DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength
);
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 oContextFlags especificado.
[in] ContextFlags
Um valor que indica quais partes da estrutura de Contexto devem ser inicializadas.
Esse parâmetro influencia o tamanho da estrutura inicializada Context.
ObservaçãoCONTEXT_XSTATE não faz parte de CONTEXT_FULL ou CONTEXT_ALL. Ele deve ser especificado separadamente se um contexto XState for desejado.
[out, optional] Context
Um ponteiro para uma variável que recebe o endereço da estrutura de CONTEXT de inicializada dentro dodo Buffer de .
Observação Devido aos requisitos de alinhamento das estruturas de CONTEXT , o valor retornado no de Contexto pode não estar no início do buffer fornecido.
[in, out] ContextLength
Na entrada, especifica o comprimento do buffer apontado por 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_BUFFERe 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.
Valor de retorno
Essa função retornará TRUE se bem-sucedida, caso contrário, false. Para obter informações de erro estendidas, chame GetLastError.
InitializeContext pode ser usado para inicializar uma estrutura de CONTEXT dentro de 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 do Buffer para 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 de Buffer do e chame a função novamente para inicializar ode Contexto . Após a conclusão bem-sucedida dessa rotina, o ContextFlags membro da estrutura de Contexto é inicializado, mas o conteúdo restante da estrutura é indefinido. Alguns bits especificados no parâmetro ContextFlags podem não ser definidos em Context-ContextFlags se eles não tiverem suporte pelo sistema. Os aplicativos podem remover, mas nunca devem adicionar, bits do membro ContextFlags doCONTEXT .
Windows 7 com SP1 e Windows Server 2008 R2 com SP1: o da API AVX é implementado 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 Trabalhando com de Contexto XState para obter detalhes.
Requisitos
| Requisito |
Valor |
|
de cliente com suporte mínimo |
Windows 7 com SP1 [aplicativos da área de trabalho | Aplicativos UWP] |
|
servidor com suporte mínimo |
Windows Server 2008 R2 com SP1 [aplicativos da área de trabalho | Aplicativos UWP] |
| da Plataforma de Destino |
Windows |
| cabeçalho |
winbase.h (inclua Windows.h) |
| biblioteca |
Kernel32.lib |
| de DLL |
Kernel32.dll |
Consulte também
CONTEXT
CopyContext
Intel AVX
trabalhando com de contexto XState