InitializeContext2, fonction (winbase.h)
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
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.
[out, optional] Context
Pointeur vers une variable qui reçoit l’adresse de la structure CONTEXT
[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.
XStateCompactionMask
Fournit le masque de compactage XState à utiliser lors de l’allocation de la structure Context
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
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.
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 diminuer 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 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 pris en charge | Windows 10 Build 20348 |
serveur minimum pris en charge | Windows 10 Build 20348 |
d’en-tête | winbase.h |
Voir aussi
utilisation de l' de contexte XState