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) |