estructura ACTCTX_SECTION_KEYED_DATA (winbase.h)
Las funciones FindActCtxSectionString y FindActCtxSectionGuid usan la estructura ACTCTX_SECTION_KEYED_DATA para devolver la información de contexto de activación junto con la sección contexto de activación con etiquetas de enteros de 32 bits o GUID.
Sintaxis
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;
Miembros
cbSize
Tamaño, en bytes, de la estructura de datos con clave de contexto de activación.
ulDataFormatVersion
Número que indica el formato de los datos de la sección donde se encontró la clave. Los clientes deben comprobar que la versión del formato de datos es la esperada en lugar de intentar interpretar los valores de formatos de datos desconocidos. Este número solo se cambia cuando es necesario realizar cambios importantes no compatibles con versiones anteriores en los formatos de datos de sección. La versión de formato actual es 1.
lpData
Puntero a los datos de redireccionamiento encontrados asociados con el identificador de sección y la clave.
ulLength
Número de bytes de la estructura a la que hace referencia lpData. Tenga en cuenta que las estructuras de datos crecen con el tiempo; no tienen acceso a los miembros de los datos de instancia que se extienden más allá de ulLength.
lpSectionGlobalData
Se devuelve el puntero a una estructura de datos específica de sección que es global a la sección de contexto de activación donde se encontró la clave. Su interpretación depende del identificador de sección solicitado.
ulSectionGlobalDataLength
Número de bytes del bloque de datos global de sección al que hace referencia lpSectionGlobalData.
Tenga en cuenta que las estructuras de datos crecen con el tiempo y puede recibir un bloque de datos de contexto de activación de formato antiguo; no accede a los miembros de la sección datos globales que se extienden más allá de ulSectionGlobalDataLength.
lpSectionBase
Puntero a la base de la sección donde se encontró la clave. Algunos datos de instancia contienen desplazamientos relativos a la dirección base de sección, en cuyo caso se usa este valor de puntero.
ulSectionTotalLength
Número de bytes para toda la sección a partir de lpSectionBase. Se puede usar para comprobar que los pares de desplazamiento y longitud, que se especifican como relativos a la base de sección están totalmente contenidos en la sección.
hActCtx
Controle el contexto de activación donde se encontró la clave. En primer lugar, se busca el contexto de activación activo del subproceso, seguido del contexto de activación predeterminado del proceso y, a continuación, el contexto de activación predeterminado compatible con el sistema. Este miembro indica qué contexto de activación contenía la sección y la clave solicitadas. Esto solo se devuelve si se pasa la marca FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX.
Tenga en cuenta que, cuando se devuelve, el autor de la llamada debe llamar a ReleaseActCtx() en el identificador de contexto de activación devuelto para liberar los recursos del sistema cuando se hayan liberado todas las demás referencias al contexto de activación.
ulAssemblyRosterIndex
Número cardinal del ensamblado en el contexto de activación que proporcionó la información de redireccionamiento encontrada. Este valor se puede presentar a QueryActCtxW para obtener más información sobre el ensamblado que contribuye.
ulFlags
AssemblyMetadata
Comentarios
Los autores de las llamadas deben inicializar la estructura ACTCTX_SECTION_KEYED_DATA como tal:
"ACTCTX_SECTION_KEYED_DATA askd = { sizeof(askd) };"
que inicializa todos los miembros en cero o null, excepto el campo de tamaño que se establece correctamente.
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | winbase.h (incluye Windows.h) |