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 모든 수준(주석 섹션 참조)

추가 정보

EtwWrite

EtwWriteString