다음을 통해 공유


RxLogEventWithBufferDirect 함수(rxprocs.h)

RxLogEventWithBufferDirect 는 I/O 오류 로그 구조를 할당하고, 정보를 입력하고, I/O 오류 로그에 항목을 씁니다.

구문

void RxLogEventWithBufferDirect(
       IN PVOID           DeviceOrDriverObject,
  [in] IN PUNICODE_STRING OriginatorId,
  [in] IN ULONG           EventId,
  [in] IN NTSTATUS        Status,
  [in] IN PVOID           DataBuffer,
  [in] IN USHORT          DataBufferLength,
  [in] IN ULONG           LineNumber
);

매개 변수

DeviceOrDriverObject

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

[in] OriginatorId

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

[in] EventId

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

[in] Status

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

[in] DataBuffer

I/O 오류 로그 구조에 추가할 데이터 버퍼에 대한 포인터입니다.

[in] DataBufferLength

I/O 오류 로그 구조에 추가할 데이터 버퍼의 길이입니다.

[in] LineNumber

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

반환 값

없음

설명

RxLogEventDirect는 내부적으로 RxLogEventWithAnnotation 루틴을 호출하여 StatusLineNumber 매개 변수를 RxLogEventWithAnnotation대한 Annotations 매개 변수로 전달하는 로그 항목을 만들고 작성합니다.

I/O 오류 로그 입력 크기는 255자의 길이로 제한됩니다. 따라서 EventId, DataBufferAnnotations 매개 변수의 길이와 I/O 오류 로그 항목의 고정된 부분 크기가 255를 초과하는 경우 I/O 오류 로그 항목이 생성되지 않습니다.

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

요구 사항

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

추가 정보

RxLogEventDirect

RxLogEventWithAnnotation

_RxLog