다음을 통해 공유


IoPropagateActivityIdToThread 함수(ntddk.h)

IoPropagateActivityIdToThread 루틴은 IRP의 활동 ID를 현재 스레드와 연결합니다.

구문

NTSTATUS IoPropagateActivityIdToThread(
  [in]  PIRP    Irp,
  [out] LPGUID  PropagatedId,
        LPCGUID *OriginalId
);

매개 변수

[in] Irp

ID가 스레드로 전파되는 IRP입니다.

[out] PropagatedId

스레드에 ID를 저장하기 위해 호출자가 할당한 메모리에 대한 포인터입니다.

OriginalId

호출에서 성공적으로 반환되면 는 스레드에서 이전에 설정된 ID를 보유합니다. 드라이버는 동일한 스레드 컨텍스트 내에서 추적이 완료되면 이 포인터를 사용하여 IoClearActivityIdThread 를 호출해야 합니다.

반환 값

IoPropagateActivityIdToThread 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값은 다음과 같습니다.

반환 코드 설명
STATUS_NOT_FOUND IRP에 연결된 ID가 없습니다.

설명

이 루틴은 추적을 인식하고 작업자 스레드에서 I/O를 실행하는 드라이버에서 사용해야 합니다. 이러한 드라이버는 호출이 성공한 경우 스레드에서 컨트롤을 반환하기 전에 OriginalId를 사용하여 IoClearActivityIdThread를 호출해야 합니다.

I/O 작업 항목을 사용하는 드라이버는 I/O 하위 시스템이 이 경우 스레드에 활동 ID를 전파하는 작업을 처리하므로 이 루틴을 호출할 필요가 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 사용하여 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준