Compartilhar via


Função InitializeContext (winbase.h)

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.

Observações

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