Freigeben über


ACTCTX_SECTION_KEYED_DATA-Struktur (winbase.h)

Die ACTCTX_SECTION_KEYED_DATA-Struktur wird von den Funktionen FindActCtxSectionString und FindActCtxSectionGuid verwendet, um die Informationen zum Aktivierungskontext zusammen mit dem Abschnitt GUID oder 32-Bit-Aktivierungskontext zurückzugeben.

Syntax

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;

Member

cbSize

Die Größe der Datenstruktur mit Aktivierungskontextschlüsseln in Byte.

ulDataFormatVersion

Zahl, die das Format der Daten in dem Abschnitt angibt, in dem der Schlüssel gefunden wurde. Clients sollten überprüfen, ob die Datenformatversion wie erwartet ist, anstatt zu versuchen, die Werte unbekannter Datenformate zu interpretieren. Diese Zahl wird nur geändert, wenn wichtige nicht abwärtskompatible Änderungen an den Abschnittsdatenformaten vorgenommen werden müssen. Die aktuelle Formatversion ist 1.

lpData

Zeiger auf die gefundenen Umleitungsdaten, die dem Abschnittsbezeichner und -schlüssel zugeordnet sind.

ulLength

Anzahl der Bytes in der Struktur, auf die von lpData verwiesen wird. Beachten Sie, dass die Datenstrukturen im Laufe der Zeit wachsen. greifen Sie nicht auf Member im instance Daten zu, die über ulLength hinausgehen.

lpSectionGlobalData

Gibt den Zeiger auf eine abschnittsspezifische Datenstruktur zurück, die global für den Aktivierungskontextabschnitt ist, in dem der Schlüssel gefunden wurde. Seine Interpretation hängt vom angeforderten Abschnittsbezeichner ab.

ulSectionGlobalDataLength

Anzahl der Bytes im abschnittsweiten globalen Datenblock, auf den von lpSectionGlobalData verwiesen wird.

Beachten Sie, dass die Datenstrukturen im Laufe der Zeit wachsen und Sie möglicherweise einen alten Formataktivierungskontextdatenblock erhalten. greifen Sie nicht auf Elemente im Abschnitt globale Daten zu, die über ulSectionGlobalDataLength hinausgehen.

lpSectionBase

Zeiger auf die Basis des Abschnitts, in dem der Schlüssel gefunden wurde. Einige instance Daten enthalten Offsets relativ zur Abschnittsbasisadresse. In diesem Fall wird dieser Zeigerwert verwendet.

ulSectionTotalLength

Anzahl der Bytes für den gesamten Abschnitt ab lpSectionBase. Kann verwendet werden, um zu überprüfen, ob Offset-/Längenpaare, die relativ zur Abschnittsbasis angegeben werden, vollständig im Abschnitt enthalten sind.

hActCtx

Handle mit dem Aktivierungskontext, in dem der Schlüssel gefunden wurde. Zuerst wird der aktive Aktivierungskontext für den Thread durchsucht, gefolgt vom Prozessstandardaktivierungskontext und dann dem systemkompatiblen Standardaktivierungskontext. Dieser Member gibt an, welcher Aktivierungskontext den angeforderten Abschnitt und den angeforderten Schlüssel enthielt. Dies wird nur zurückgegeben, wenn das flag FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX übergeben wird.

Wenn dies zurückgegeben wird, muss der Aufrufer ReleaseActCtx() für das Aktivierungskontexthandle aufrufen, das an die Releasesystemressourcen zurückgegeben wird, wenn alle anderen Verweise auf den Aktivierungskontext freigegeben wurden.

ulAssemblyRosterIndex

Kardinalnummer der Assembly im Aktivierungskontext, die die gefundenen Umleitungsinformationen bereitstellte. Dieser Wert kann QueryActCtxW angezeigt werden, um weitere Informationen zur mitwirkenden Assembly zu erhalten.

ulFlags

AssemblyMetadata

Hinweise

Aufrufer sollten die ACTCTX_SECTION_KEYED_DATA-Struktur als solche initialisieren:

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

initialisiert alle Member mit 0/NULL, mit Ausnahme des ordnungsgemäß festgelegten Größenfelds.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winbase.h (Windows.h einschließen)

Weitere Informationen

ACTCTX

FindActCtxSectionGuid

FindActCtxSectionString