Función InitializeContext (winbase.h)

Inicializa una estructura CONTEXT dentro de un búfer con el tamaño y la alineación necesarios.

Sintaxis

BOOL InitializeContext(
  [out, optional] PVOID    Buffer,
  [in]            DWORD    ContextFlags,
  [out, optional] PCONTEXT *Context,
  [in, out]       PDWORD   ContextLength
);

Parámetros

[out, optional] Buffer

Puntero a un búfer en el que se inicializa una estructura de CONTEXT. Este parámetro puede ser NULL para determinar el tamaño del búfer necesario para contener un registro de contexto con el ContextFlags especificado.

[in] ContextFlags

Valor que indica qué partes de la estructura Context se deben inicializar. Este parámetro influye en el tamaño de la estructura context de inicializada.

NotaCONTEXT_XSTATE no forma parte de CONTEXT_FULL ni CONTEXT_ALL. Debe especificarse por separado si se desea un contexto XState.
 

[out, optional] Context

Puntero a una variable que recibe la dirección de la estructura CONTEXT CONTEXT inicializada dentro delbuffer de .

Nota Debido a los requisitos de alineación de estructuras context, es posible que el valor devuelto en Context no esté al principio del búfer proporcionado.
 

[in, out] ContextLength

En la entrada, especifica la longitud del búfer al que apunta buffer, en bytes. Si el búfer no es lo suficientemente grande como para contener las partes especificadas del CONTEXT, se produce un error en la función, GetLastError devuelve ERROR_INSUFFICIENT_BUFFERy ContextLength se establece en el tamaño necesario del búfer. Si la función produce un error distinto de ERROR_INSUFFICIENT_BUFFER, el contenido de ContextLength no está definido.

Valor devuelto

Esta función devuelve TRUE si se ejecuta correctamente; de lo contrario, FALSE. Para obtener información de error extendida, llame a GetLastError.

Observaciones

initializeContext se puede usar para inicializar una estructura DE CONTEXTO dentro de un búfer con las características de tamaño y alineación necesarias. Esta rutina es necesaria si se especifica el CONTEXT_XSTATEContextFlag, ya que el tamaño de contexto y la alineación necesarios pueden cambiar en función de las características del procesador habilitadas en el sistema.

En primer lugar, llame a esta función con el parámetro contextFlags establecido en el número máximo de características que usará y el parámetro buffer de para NULL. La función devuelve el tamaño de búfer necesario en bytes en el parámetro contextLength . Asigne espacio suficiente para los datos en el del búfer de y vuelva a llamar a la función para inicializar elContext de . Tras completar correctamente esta rutina, se inicializa el ContextFlags miembro de la estructura context de , pero el contenido restante de la estructura no está definido. Es posible que algunos bits especificados en el parámetro ContextFlags no se establezcan en Context:>ContextFlags si el sistema no los admite. Las aplicaciones pueden quitarse posteriormente, pero nunca deben agregar bits del ContextFlags miembro de CONTEXT.

Windows 7 con SP1 y Windows Server 2008 R2 con SP1: La API de AVX de se implementa primero en Windows 7 con SP1 y Windows Server 2008 R2 con SP1 . Puesto que no hay ningún SDK para SP1, significa que no hay encabezados y archivos de biblioteca disponibles con los que trabajar. En esta situación, un llamador debe declarar las funciones necesarias de esta documentación y obtener punteros a ellos mediante GetModuleHandle en "Kernel32.dll", seguido de llamadas a GetProcAddress. Consulte Trabajar con contexto XState para obtener más información.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 7 con SP1 [aplicaciones de escritorio | Aplicaciones para UWP]
servidor mínimo admitido Windows Server 2008 R2 con SP1 [aplicaciones de escritorio | Aplicaciones para UWP]
de la plataforma de destino de Windows
encabezado de winbase.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

CONTEXT de

CopyContext

intel AVX

trabajar con de contexto XState