NdisMWriteLogData 함수(ndis.h)

NdisMWriteLogData 는 드라이버 전용 Win32 애플리케이션에서 사용 및 표시하기 위해 드라이버 제공 정보를 로그 파일로 전송합니다.

구문

NDIS_STATUS NdisMWriteLogData(
  [in] NDIS_HANDLE LogHandle,
  [in] PVOID       LogBuffer,
  [in] UINT        LogBufferSize
);

매개 변수

[in] LogHandle

NdisMCreateLog에서 반환된 핸들을 지정합니다.

[in] LogBuffer

쓸 정보를 포함하는 드라이버 할당 버퍼에 대한 포인터입니다.

[in] LogBufferSize

로그 파일에 복사할 데이터의 바이트 수를 지정합니다.

반환 값

NdisMWriteLogData 는 다음 중 하나를 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
LogBuffer에서 드라이버 제공 데이터가 로그 파일에 복사되었습니다.
NDIS_STATUS_BUFFER_OVERFLOW
지정된 LogBufferSize 가 너무 큽니다. 즉, 로그 파일 자체보다 큽니다.

설명

드라이버 전용 애플리케이션에 로그 파일 데이터에 대한 미해결 요청이 있는 경우 NdisMWriteLogData 는 드라이버 제공 정보를 로그 파일에 복사하는 즉시 해당 요청을 충족합니다.

미니포트 드라이버는 현재 IRQL < DISPATCH_LEVEL 실행 중인 경우 커널 스택의 위치에 LogBuffer 포인터를 제공할 수 있습니다. 그렇지 않으면 LogBuffer 는 드라이버가 비페이지 풀에서 할당한 버퍼에 액세스해야 합니다.

드라이버는 NdisMWriteLogData를 호출하기 전에 보유하고 있는 스핀 잠금을 해제해야 합니다.

NdisMWriteLogData 는 로그 레코드 간의 경계를 인식하지 못하며, 애플리케이션이 NDIS 미니포트 드라이버로 NDIS 로그 파일에 기록된 데이터를 검색하기 위해 IOCTL_NDIS_GET_LOG_DATA 호출할 수 있는 Win32 함수 DeviceIoControl도 인식하지 않습니다. NdisMWriteLogDataLogBuffer 의 모든 미니포트 드라이버 제공 데이터를 바이트 스트림으로 로그 파일에 씁니다. DeviceIoControl 은 바이트 스트림과 같은 로그에서 데이터를 읽습니다.

따라서 NDIS 로그를 읽는 애플리케이션은 검색된 데이터를 레코드로 수집해야 합니다. 이러한 애플리케이션이 가변 길이 레코드를 수집하는 데 도움이 되도록 이러한 로그에 쓰는 미니포트 드라이버는 각 레코드의 시작 부분에 마커를 삽입할 수 있습니다. 그런 다음 검색된 데이터의 서식을 지정하는 애플리케이션에서 이러한 마커를 검색하여 각 레코드의 시작을 확인할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버(NdisMWriteLogData(NDIS 5.1 참조))에 대해 지원됩니다. Windows XP의 NDIS 5.1 드라이버(NdisMWriteLogData(NDIS 5.1 참조))에 대해 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 Irql_Miniport_Driver_Function(ndis)

추가 정보

NdisAllocateFromNPagedLookasideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog

NdisMFlushLog

NdisReleaseSpinLock