winbase.h) (ACTCTX_SECTION_KEYED_DATA 结构
ACTCTX_SECTION_KEYED_DATA 结构由 FindActCtxSectionString 和 FindActCtxSectionGuid 函数用于返回激活上下文信息以及 GUID 或 32 位整数标记的激活上下文部分。
语法
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;
成员
cbSize
激活上下文键制数据结构的大小(以字节为单位)。
ulDataFormatVersion
指示找到键的节中的数据格式的数字。 客户端应验证数据格式版本是否与预期一样,而不是尝试解释不熟悉的数据格式的值。 仅当需要对节数据格式进行主要非向后兼容更改时,才会更改此数字。 当前格式版本为 1。
lpData
指向找到的与节标识符和键关联的重定向数据的指针。
ulLength
lpData 引用的结构中的字节数。 请注意,数据结构会随着时间的推移而增长;不要访问超出 ulLength 的实例数据中的成员。
lpSectionGlobalData
返回指向特定于节的数据结构的指针,该结构是全局的,指向找到密钥的激活上下文部分。 其解释取决于请求的节标识符。
ulSectionGlobalDataLength
lpSectionGlobalData 引用的节全局数据块中的字节数。
请注意,数据结构会随着时间的推移而增长,你可能会收到旧格式的激活上下文数据块;不要访问超出 ulSectionGlobalDataLength 的部分全局数据的成员。
lpSectionBase
指向找到键的部分的基的指针。 某些实例数据包含相对于节基址的偏移量,在这种情况下,将使用此指针值。
ulSectionTotalLength
从 lpSectionBase 开始的整个节的字节数。 可用于验证指定为相对于节基的偏移量/长度对是否完全包含在 节中。
hActCtx
找到密钥的激活上下文的句柄。 首先,搜索线程的活动激活上下文,然后搜索进程默认激活上下文,然后搜索系统兼容默认激活上下文。 此成员指示哪个激活上下文包含请求的节和密钥。 仅当传递了FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX标志时,才会返回此标记。
请注意,当此返回时,调用方必须在释放对激活上下文的所有其他引用时,对返回到发布系统资源的激活上下文句柄调用 ReleaseActCtx () 。
ulAssemblyRosterIndex
激活上下文中提供找到的重定向信息的程序集的基数。 此值可以呈现给 QueryActCtxW ,以获取有关参与程序集的详细信息。
ulFlags
AssemblyMetadata
注解
调用方应初始化 ACTCTX_SECTION_KEYED_DATA 结构,如下所示:
“ACTCTX_SECTION_KEYED_DATA askd = { sizeof (askd) };”
将除正确设置的大小字段之外的所有成员初始化为零/null。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winbase.h (包括 Windows.h) |