ACTCTX_SECTION_KEYED_DATA structure (winbase.h)
La structure ACTCTX_SECTION_KEYED_DATA est utilisée par les fonctions FindActCtxSectionString et FindActCtxSectionGuid pour renvoyer les informations de contexte d’activation ainsi que le GUID ou la section de contexte d’activation avec balises entières 32 bits.
Syntaxe
typedef struct tagACTCTX_SECTION_KEYED_DATA {
ULONG cbSize;
ULONG ulDataFormatVersion;
PVOID lpData;
ULONG ulLength;
PVOID lpSectionGlobalData;
ULONG ulSectionGlobalDataLength;
PVOID lpSectionBase;
ULONG ulSectionTotalLength;
HANDLE hActCtx;
ULONG ulAssemblyRosterIndex;
ULONG ulFlags;
ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
Membres
cbSize
Taille, en octets, de la structure de données à clé du contexte d’activation.
ulDataFormatVersion
Nombre qui indique le format des données dans la section où la clé a été trouvée. Les clients doivent vérifier que la version du format de données est comme prévu au lieu d’essayer d’interpréter les valeurs de formats de données inconnus. Ce nombre est modifié uniquement lorsque des modifications majeures non à compatibilité descendante des formats de données de section doivent être apportées. La version de format actuelle est 1.
lpData
Pointeur vers les données de redirection trouvées associées à l’identificateur de section et à la clé.
ulLength
Nombre d’octets dans la structure référencée par lpData. Notez que les structures de données augmentent au fil du temps ; n’accèdent pas aux membres dans le instance données qui s’étendent au-delà de ulLength.
lpSectionGlobalData
Pointeur retourné vers une structure de données spécifique à une section qui est globale à la section du contexte d’activation où la clé a été trouvée. Son interprétation dépend de l’identificateur de section demandé.
ulSectionGlobalDataLength
Nombre d’octets dans le bloc de données global de section référencé par lpSectionGlobalData.
Notez que les structures de données augmentent au fil du temps et que vous pouvez recevoir un bloc de données de contexte d’activation de format ancien ; n’accèdent pas aux membres de la section données globales qui s’étendent au-delà de ulSectionGlobalDataLength.
lpSectionBase
Pointeur vers la base de la section où la clé a été trouvée. Certaines données instance contiennent des décalages par rapport à l’adresse de base de section, auquel cas cette valeur de pointeur est utilisée.
ulSectionTotalLength
Nombre d’octets pour la section entière à partir de lpSectionBase. Peut être utilisé pour vérifier que les paires offset/longueur, qui sont spécifiées par rapport à la base de section, sont entièrement contenues dans la section.
hActCtx
Gérez le contexte d’activation où la clé a été trouvée. Tout d’abord, le contexte d’activation actif pour le thread fait l’objet d’une recherche, suivi du contexte d’activation par défaut du processus, puis du contexte system-compatible-default-activation. Ce membre indique quel contexte d’activation contenait la section et la clé demandées. Cette valeur est retournée uniquement si l’indicateur FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX est passé.
Notez que lorsque cela est retourné, l’appelant doit appeler ReleaseActCtx() sur le handle de contexte d’activation retourné aux ressources système de mise en production lorsque toutes les autres références au contexte d’activation ont été publiées.
ulAssemblyRosterIndex
Numéro cardinal de l’assembly dans le contexte d’activation qui a fourni les informations de redirection trouvées. Cette valeur peut être présentée à QueryActCtxW pour plus d’informations sur l’assembly contributeur.
ulFlags
AssemblyMetadata
Remarques
Les appelants doivent initialiser la structure ACTCTX_SECTION_KEYED_DATA en tant que telle :
« ACTCTX_SECTION_KEYED_DATA askd = { sizeof(askd) }; »
qui initialise tous les membres sur zéro/null à l’exception du champ de taille qui est défini correctement.
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | winbase.h (inclure Windows.h) |