Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Initialise une structure CONTEXT à l’intérieur d’une mémoire tampon avec la taille et l’alignement nécessaires, avec l’option permettant de spécifier un masque de compactage XSTATE.
Syntaxe
BOOL InitializeContext2(
[out, optional] PVOID Buffer,
DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength,
ULONG64 XStateCompactionMask
);
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 mémoire tampon requise pour contenir un enregistrement de contexte avec le ContextFlags spécifié.
ContextFlags
Valeur indiquant quelles parties de la structure de contexte doivent être initialisées. Ce paramètre influence la taille de la structure de contexte initialisée.
[out, optional] Context
Pointeur vers une variable qui reçoit l’adresse de la structure CONTEXT initialisée dans la mémoire tampon.
[in, out] ContextLength
Lors de l’entrée, spécifie la longueur de la mémoire tampon vers laquelle pointe la mémoire tampon, en octets. Si la mémoire tampon n’est pas suffisamment grande pour contenir les parties spécifiées du CONTEXT, la fonction échoue, GetLastError retourne ERROR_INSUFFICIENT_BUFFER et 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.
XStateCompactionMask
Fournit le masque de compactage XState à utiliser lors de l’allocation de la structure de contexte . Ce paramètre est utilisé uniquement lorsque CONTEXT_XSTATE est fourni à ContextFlags et que le système a XState activé en mode compactage.
Valeur de retour
Cette fonction retourne TRUE si elle réussit, sinon FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
InitializeContext peut ê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 la CONTEXT_XSTATEContextFlag est spécifiée, 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 Buffer sur 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 la mémoire tampon et appelez à nouveau la fonction pour initialiser le contexte. Une fois cette routine terminée, le membre ContextFlags 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 Context-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 membre ContextFlags de CONTEXT.
Windows 7 avec SP1 et Windows Server 2008 R2 avec SP1 : L’API AVX est d’abord implémentée 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 ceux-ci à l’aide de GetModuleHandle sur «Kernel32.dll», suivi d’appels à GetProcAddress. Pour plus d’informations, consultez Utilisation du contexte XState .
Lorsque XState est activé en mode compactage, la spécification d’un XStateCompactionMask qui contient uniquement un sous-ensemble des composants XState activés peut réduire la taille de mémoire tampon requise pour stocker le contexte. Cela est particulièrement utile si le système a de nombreux composants XState activés, mais que le contexte sera utilisé uniquement pour affecter un petit nombre de composants XState. L’ensemble complet de composants XState activés peut être obtenu en appelant GetEnabledXStateFeatures. Cette fonction copie le masque de compactage XState spécifié dans l’emplacement approprié dans l’en-tête XState.
Exigences
| Exigence | Valeur |
|---|---|
| Client minimum requis | Windows 10 Build 20348 |
| Serveur minimal pris en charge | Windows 10 Build 20348 |
| Header | winbase.h |
| Library | noyau32. Lib |