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 |