структура ACTCTX_SECTION_KEYED_DATA (winbase.h)
Структура 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) |