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 함수에 전달된 모든 데이터를 페이징할 수 없어야 합니다. 즉, APC_LEVEL보다 큰 IRQL에서 실행되는 커널 모드 루틴은 페이지 가능한 메모리에 액세스할 수 없습니다. EtwWrite, EtwWriteString, EtwWriteTransfer 함수에 전달된 데이터는 IRQL이 무엇인지에 관계없이 시스템 공간 메모리에 있어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe; Ntdll.dll |
IRQL | 모든 수준(주석 섹션 참조) |