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 루틴을 호출하여 상태 전달하고 LineNumber 매개 변수를 Annotations 매개 변수로 RxLogEventWithAnnotation전달합니다.
I/O 오류 로그 항목 크기는 255자의 길이로 제한됩니다. 따라서 EventId, DataBuffer및 주석 매개 변수와 I/O 오류 로그 항목의 고정 부분 크기가 255를 초과하는 경우 I/O 오류 로그 항목이 생성되지 않습니다.
RxLogEventWithAnnotation 루틴은 I/O 오류 로그 항목을 만들기 위해 메모리를 할당해야 합니다. 따라서 RxLogEventWithBufferDirect 메모리 할당이 실패하면 자동으로 실패할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | rxprocs.h(Rxprocs.h, Rxstruc.h 포함) |
IRQL | <= APC_LEVEL |