EtwWriteTransfer-Funktion (wdm.h)
Die EtwWriteTransfer-Funktion markiert ein Ereignis, das zwei Aktivitäten miteinander verknüpft. Dieser Ereignistyp wird als Übertragungsereignis bezeichnet. Ein Übertragungsereignis kann dieselben benutzerdefinierten Daten, dieselben Felder enthalten und unterliegt den gleichen Regeln wie andere Ereignisse.
Syntax
NTSTATUS EtwWriteTransfer(
[in] REGHANDLE RegHandle,
[in] PCEVENT_DESCRIPTOR EventDescriptor,
[in, optional] LPCGUID ActivityId,
[in, optional] LPCGUID RelatedActivityId,
[in] ULONG UserDataCount,
[in, optional] PEVENT_DATA_DESCRIPTOR UserData
);
Parameter
[in] RegHandle
Ein Zeiger auf das Ereignisanbieterregistrierungshandle, das von der EtwRegister-Funktion zurückgegeben wird, wenn die Ereignisanbieterregistrierung erfolgreich ist.
[in] EventDescriptor
Ein Zeiger auf die EVENT_DESCRIPTOR-Struktur.
[in, optional] ActivityId
Der Bezeichner, der die dem Ereignis zugeordnete Aktivität angibt. Die ActivityId bietet eine Möglichkeit zum Gruppieren verwandter Ereignisse und wird in der End-to-End-Ablaufverfolgung verwendet. Dieser Bezeichner ist optional und kann NULL sein.
[in, optional] RelatedActivityId
Der Bezeichner, der die dem Ereignis zugeordnete aktivität angibt. RelatedActivityID bietet eine Möglichkeit zum Gruppieren verwandter Ereignisse und wird in der End-to-End-Ablaufverfolgung verwendet.
[in] UserDataCount
Die Anzahl der Elemente in einem Array von EVENT_DATA_DESCRIPTOR Strukturen.
[in, optional] UserData
Der Zeiger auf das erste Element in einem Array von EVENT_DATA_DESCRIPTOR Strukturen.
Rückgabewert
EtwWriteTransfer gibt STATUS_SUCCESS zurück, wenn das Ereignis erfolgreich veröffentlicht wurde.
Hinweise
Sie können EtwWriteTransfer in jedem IRQL aufrufen. Wenn IRQL jedoch größer als APC_LEVEL ist, dürfen alle an die Funktionen EtwWrite, EtwWriteString und EtwWriteTransfer übergebenen Daten nicht ausgelagert werden können. Das heißt, jede Kernelmodusroutine, die bei IRQL ausgeführt wird, die größer als APC_LEVEL ist, kann nicht auf ausgelagerten Arbeitsspeicher zugreifen. Daten, die an die Funktionen EtwWrite, EtwWriteString, EtwWriteTransfer übergeben werden, müssen sich im Speicher des Systemspeichers befinden, unabhängig davon, was irQL ist.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | wdm.h (include Wdm.h, Ntddk.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe; Ntdll.dll |
IRQL | Beliebige Ebene (siehe Abschnitt "Kommentare") |