다음을 통해 공유


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