etwWriteTransfer 函式 (wdm.h)
EtwWriteTransfer 函式會標示將兩個活動連結在一起的事件;這種類型的事件稱為傳輸事件。 傳輸事件可以包含相同的使用者定義數據、相同的欄位,而且受限於與其他事件相同的規則。
語法
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
);
參數
[in] RegHandle
事件提供者註冊句柄的指標,如果事件提供者註冊成功, 則 EtwRegister 函式會傳回此指標。
[in] EventDescriptor
EVENT_DESCRIPTOR 結構的指標。
[in, optional] ActivityId
標識符,表示與事件相關聯的活動。 ActivityId 提供將相關事件分組的方式,並用於端對端追蹤。 此標識碼是選擇性的,而且可以是 NULL。
[in, optional] RelatedActivityId
標識符,表示與事件相關聯的相關活動。 RelatedActivityID 提供將相關事件分組的方式,並用於端對端追蹤。
[in] UserDataCount
EVENT_DATA_DESCRIPTOR 結構陣列中的項目數。
[in, optional] UserData
EVENT_DATA_DESCRIPTOR 結構陣列中第一個專案的指標。
傳回值
如果成功發佈事件,EtwWriteTransfer 會傳回STATUS_SUCCESS。
備註
您可以在任何 IRQL 呼叫 EtwWriteTransfer 。 不過,當 IRQL 大於APC_LEVEL時,任何傳遞至 EtwWrite、EtwWriteString、EtwWriteTransfer 函式的數據不得分頁。 也就是說,任何在 IRQL 上執行且大於 APC_LEVEL 的核心模式例程都無法存取可分頁記憶體。 傳遞至 EtwWrite、 EtwWriteString、 EtwWriteTransfer 函式的數據必須位於系統空間記憶體中,不論 IRQL 是什麼。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe;Ntdll.dll |
IRQL | 任何層級 (請參閱批注一節) |