Partager via


InitializeContext, fonction (winbase.h)

Initialise une structure CONTEXT à l’intérieur d’une mémoire tampon avec la taille et l’alignement nécessaires.

Syntaxe

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

Paramètres

[out, optional] Buffer

Pointeur vers une mémoire tampon dans laquelle initialiser une structure CONTEXT . Ce paramètre peut être NULL pour déterminer la taille de la mémoire tampon requise pour contenir un enregistrement de contexte avec le ContextFlags spécifié.

[in] ContextFlags

Valeur indiquant quelles parties de la structure Context doit être initialisée. Ce paramètre influence la taille de la structure de contexte initialisée.

RemarqueCONTEXT_XSTATE ne fait pas partie de CONTEXT_FULL ou de CONTEXT_ALL. Elle doit être spécifiée séparément si un contexte XState est souhaité.
 

[out, optional] Context

Pointeur vers une variable qui reçoit l’adresse de la structure CONTEXT initialisée dans latampon .

Remarque En raison des exigences d’alignement des structures CONTEXT , la valeur retournée dans Contexte peut ne pas être au début de la mémoire tampon fournie.
 

[in, out] ContextLength

Lors de l’entrée, spécifie la longueur de la mémoire tampon pointée par tampon, en octets. Si la mémoire tampon n’est pas suffisamment grande pour contenir les parties spécifiées de l'CONTEXT, la fonction échoue, GetLastError retourne ERROR_INSUFFICIENT_BUFFERet ContextLength est défini sur la taille requise de la mémoire tampon. Si la fonction échoue avec une erreur autre que ERROR_INSUFFICIENT_BUFFER, le contenu de ContextLength n’est pas défini.

Valeur de retour

Cette fonction retourne TRUE si elle réussit, sinon FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

InitializeContext pouvez être utilisé pour initialiser une structure CONTEXT dans une mémoire tampon avec les caractéristiques d’alignement et de taille requises. Cette routine est requise si le CONTEXT_XSTATEContextFlag est spécifié, car la taille et l’alignement du contexte requis peuvent changer en fonction des fonctionnalités du processeur activées sur le système.

Tout d’abord, appelez cette fonction avec le paramètre ContextFlags défini sur le nombre maximal de fonctionnalités que vous utiliserez et le paramètre de mémoire tampon pour NULL. La fonction retourne la taille de mémoire tampon requise en octets dans le paramètre ContextLength. Allouez suffisamment d’espace pour les données dans le de mémoire tampon et appelez à nouveau la fonction pour initialiser lede contexte . Une fois cette routine terminée, le ContextFlags membre de la structure Context est initialisé, mais le contenu restant de la structure n’est pas défini. Certains bits spécifiés dans le paramètre ContextFlags peuvent ne pas être définis dans de contexte ->ContextFlags s’ils ne sont pas pris en charge par le système. Les applications peuvent par la suite supprimer, mais ne doivent jamais ajouter de bits du ContextFlags membre de CONTEXT.

Windows 7 avec SP1 et Windows Server 2008 R2 avec SP1 : l'l’API AVX est implémentée pour la première fois sur Windows 7 avec SP1 et Windows Server 2008 R2 avec SP1. Étant donné qu’il n’existe aucun kit SDK pour SP1, cela signifie qu’il n’y a pas d’en-têtes et de fichiers de bibliothèque disponibles à utiliser. Dans ce cas, un appelant doit déclarer les fonctions nécessaires à partir de cette documentation et obtenir des pointeurs vers eux à l’aide de GetModuleHandle sur «Kernel32.dll», suivi d’appels à GetProcAddress. Pour plus d’informations, consultez Utilisation du contexte XState.

Exigences

Exigence Valeur
client minimum pris en charge Windows 7 avec SP1 [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows Server 2008 R2 avec SP1 [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête winbase.h (inclure Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

CONTEXT

CopyContext

Intel AVX

utilisation de l' de contexte XState