Condividi tramite


struttura ACTCTX_SECTION_KEYED_DATA (winbase.h)

La struttura ACTCTX_SECTION_KEYED_DATA viene usata dalle funzioni FindActCtxSectionString e FindActCtxSectionGuid per restituire le informazioni sul contesto di attivazione insieme alla sezione relativa al contesto di attivazione con tag integer a 32 bit o GUID.

Sintassi

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;

Members

cbSize

Dimensione, in byte, della struttura dei dati con chiave del contesto di attivazione.

ulDataFormatVersion

Numero che indica il formato dei dati nella sezione in cui è stata trovata la chiave. I client devono verificare che la versione del formato dati sia come previsto anziché tentare di interpretare i valori dei formati di dati non noti. Questo numero viene modificato solo quando è necessario apportare modifiche importanti non compatibili con le versioni precedenti ai formati di dati della sezione. La versione del formato corrente è 1.

lpData

Puntatore ai dati di reindirizzamento trovati associati all'identificatore e alla chiave della sezione.

ulLength

Numero di byte nella struttura a cui fa riferimento lpData. Si noti che le strutture di dati aumentano nel tempo; non accedere ai membri nei dati dell'istanza che si estendono oltre ulLength.

lpSectionGlobalData

Puntatore restituito a una struttura di dati specifica della sezione che è globale per la sezione del contesto di attivazione in cui è stata trovata la chiave. L'interpretazione dipende dall'identificatore di sezione richiesto.

ulSectionGlobalDataLength

Numero di byte nel blocco di dati globale della sezione a cui fa riferimento lpSectionGlobalData.

Si noti che le strutture di dati aumentano nel tempo e si potrebbe ricevere un blocco di dati del contesto di attivazione del formato precedente; non accedere ai membri nella sezione dati globali che si estendono oltre ulSectionGlobalDataLength.

lpSectionBase

Puntatore alla base della sezione in cui è stata trovata la chiave. Alcuni dati dell'istanza contengono offset relativi all'indirizzo di base della sezione, nel qual caso viene usato questo valore del puntatore.

ulSectionTotalLength

Numero di byte per l'intera sezione a partire da lpSectionBase. Può essere utilizzato per verificare che le coppie offset/lunghezza, specificate come relative alla base di sezione, siano completamente contenute nella sezione.

hActCtx

Gestire il contesto di attivazione in cui è stata trovata la chiave. Innanzitutto, viene eseguita la ricerca del contesto di attivazione attiva per il thread, seguito dal contesto di attivazione predefinito del processo e quindi dal contesto di attivazione predefinito compatibile con il sistema. Questo membro indica il contesto di attivazione contenuto nella sezione e nella chiave richiesta. Viene restituito solo se viene passato il flag FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX.

Si noti che quando viene restituito, il chiamante deve chiamare ReleaseActCtx() nell'handle del contesto di attivazione restituito per rilasciare le risorse di sistema quando tutti gli altri riferimenti al contesto di attivazione sono stati rilasciati.

ulAssemblyRosterIndex

Numero cardinale dell'assembly nel contesto di attivazione che ha fornito le informazioni di reindirizzamento trovate. Questo valore può essere presentato a QueryActCtxW per altre informazioni sull'assembly che contribuisce.

ulFlags

AssemblyMetadata

Commenti

I chiamanti devono inizializzare la struttura ACTCTX_SECTION_KEYED_DATA , ad esempio:

"ACTCTX_SECTION_KEYED_DATA askd = { sizeof(askd) };"

che inizializza tutti i membri su zero/null, ad eccezione del campo size impostato correttamente.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winbase.h (include Windows.h)

Vedi anche

ACTCTX

FindActCtxSectionGuid

FindActCtxSectionString