estrutura ACTCTX_SECTION_KEYED_DATA (winbase.h)
A estrutura ACTCTX_SECTION_KEYED_DATA é usada pelas funções FindActCtxSectionString e FindActCtxSectionGuid para retornar as informações de contexto de ativação junto com a seção de contexto de ativação marcada por inteiros guid ou de 32 bits.
Sintaxe
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;
Membros
cbSize
O tamanho, em bytes, da estrutura de dados com chave de contexto de ativação.
ulDataFormatVersion
Número que indica o formato dos dados na seção em que a chave foi encontrada. Os clientes devem verificar se a versão do formato de dados é conforme o esperado, em vez de tentar interpretar os valores de formatos de dados desconhecidos. Esse número só é alterado quando as principais alterações não compatíveis com versões anteriores nos formatos de dados da seção precisam ser feitas. A versão de formato atual é 1.
lpData
Ponteiro para os dados de redirecionamento encontrados associados ao identificador e à chave da seção.
ulLength
Número de bytes na estrutura referenciada por lpData. Observe que as estruturas de dados crescem ao longo do tempo; não acesse membros nos dados da instância que se estendem além de ulLength.
lpSectionGlobalData
Retornou o ponteiro para uma estrutura de dados específica da seção que é global para a seção de contexto de ativação em que a chave foi encontrada. Sua interpretação depende do identificador de seção solicitado.
ulSectionGlobalDataLength
Número de bytes na seção bloco de dados global referenciado por lpSectionGlobalData.
Observe que as estruturas de dados crescem ao longo do tempo e você pode receber um bloco de dados de contexto de ativação de formato antigo; não acesse membros na seção dados globais que se estendem além de ulSectionGlobalDataLength.
lpSectionBase
Ponteiro para a base da seção em que a chave foi encontrada. Alguns dados de instância contêm deslocamentos relativos ao endereço base da seção, nesse caso, esse valor de ponteiro é usado.
ulSectionTotalLength
Número de bytes para toda a seção começando em lpSectionBase. Pode ser usado para verificar se os pares de deslocamento/comprimento, que são especificados como relativos à base da seção, estão totalmente contidos na seção.
hActCtx
Manipule para o contexto de ativação em que a chave foi encontrada. Primeiro, o contexto de ativação ativa para o thread é pesquisado, seguido pelo contexto de ativação padrão do processo e, em seguida, pelo contexto de ativação padrão-compatível com o sistema. Esse membro indica qual contexto de ativação continha a seção e a chave solicitadas. Isso só será retornado se o sinalizador FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX for passado.
Observe que, quando isso é retornado, o chamador deve chamar ReleaseActCtx() no identificador de contexto de ativação retornado para liberar recursos do sistema quando todas as outras referências ao contexto de ativação tiverem sido liberadas.
ulAssemblyRosterIndex
Número cardinal do assembly no contexto de ativação que forneceu as informações de redirecionamento encontradas. Esse valor pode ser apresentado a QueryActCtxW para obter mais informações sobre o assembly de contribuição.
ulFlags
AssemblyMetadata
Comentários
Os chamadores devem inicializar a estrutura ACTCTX_SECTION_KEYED_DATA como tal:
"ACTCTX_SECTION_KEYED_DATA solicitado = { sizeof(askd) };"
que inicializa todos os membros como zero/nulo, exceto o campo de tamanho definido corretamente.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | winbase.h (incluir Windows.h) |