다음을 통해 공유


RxLogEventDirect 함수(rxprocs.h)

RxLogEventDirect 는 I/O 오류 로그에 오류를 기록하기 위해 호출됩니다.

이 루틴을 직접 호출하는 대신 RXLogEvent 매크로 또는 RxLogFailure 매크로를 사용하는 것이 좋습니다.

구문

void RxLogEventDirect(
  [in] IN PRDBSS_DEVICE_OBJECT DeviceObject,
  [in] IN PUNICODE_STRING      OriginatorId,
  [in] IN ULONG                EventId,
  [in] IN NTSTATUS             Status,
  [in] IN ULONG                Line
);

매개 변수

[in] DeviceObject

RDBSS 디바이스 개체에 대한 포인터입니다.

[in] OriginatorId

오류를 생성하는 호출자를 나타내는 문자열입니다.

[in] EventId

루틴에서 반환된 NTSTATUS 값과 다른 I/O 오류 로그 코드 값을 나타내는 값입니다. 법적 I/O 오류 로그 코드 값은 Microsoft Windows SDK 및 Visual Studio에 포함된 ntiolog.h 헤더 파일에 정의됩니다.

[in] Status

오류를 나타내는 루틴의 상태 코드를 나타내는 값입니다.

[in] Line

이 오류가 발생한 소스 코드 파일의 줄 번호입니다.

반환 값

없음

설명

RxLogEventDirect 는 내부적으로 RxLogEventWithAnnotation 루틴을 호출하여 로그 항목을 만들고 작성합니다.

I/O 오류 로그 항목 크기는 255자로 제한됩니다. 따라서 OriginatorId 의 결합된 길이와 I/O 오류 로그의 고정된 부분 크기가 255를 초과하면 I/O 오류 로그 항목이 생성되지 않습니다.

RxLogEventWithAnnotation 루틴은 I/O 오류 로그 항목을 만들기 위해 메모리를 할당해야 합니다. 따라서 메모리 할당이 실패하면 RxLogEventDirect 가 자동으로 실패할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 rxprocs.h(Rxprocs.h, Rxstruc.h 포함)
IRQL <= APC_LEVEL

추가 정보

RxLogEventWithAnnotation

RxLogEventWithBufferDirect

_RxLog