다음을 통해 공유


NdisWriteErrorLogEntry 함수(ndis.h)

NdisWriteErrorLogEntry 시스템 I/O 오류 로그 파일에 항목을 씁니다.

통사론

void NdisWriteErrorLogEntry(
  [in] NDIS_HANDLE     NdisAdapterHandle,
  [in] NDIS_ERROR_CODE ErrorCode,
  [in] ULONG           NumberOfErrorValues,
       ...             
);

매개 변수

[in] NdisAdapterHandle

I/O 오류의 원인인 NIC를 나타내는 핸들을 지정합니다. 이 핸들은 MiniportInitializeEx 입력 매개 변수입니다.

[in] ErrorCode

I/O 오류를 다음 값 중 하나로 가장 잘 설명하는 NDIS_ERROR_CODE_XXX 코드를 지정합니다.

NDIS_ERROR_CODE_RESOURCE_CONFLICT

드라이버가 필요한 리소스에 액세스할 수 없습니다.

NDIS_ERROR_CODE_OUT_OF_RESOURCES

하드웨어 또는 드라이버에 리소스가 부족합니다.

NDIS_ERROR_CODE_HARDWARE_FAILURE

드라이버에서 하드웨어 오류를 감지했습니다.

NDIS_ERROR_CODE_ADAPTER_NOT_FOUND

네트워크 어댑터를 찾을 수 없습니다.

NDIS_ERROR_CODE_INTERRUPT_CONNECT

인터럽트 등록에 실패했습니다.

NDIS_ERROR_CODE_DRIVER_FAILURE

다른 오류 조건과 일치하지 않는 드라이버 오류가 발생했습니다.

NDIS_ERROR_CODE_BAD_VERSION

드라이버가 버전 불일치를 감지했습니다.

NDIS_ERROR_CODE_TIMEOUT

시간 제한이 만료되었습니다.

NDIS_ERROR_CODE_NETWORK_ADDRESS

네트워크 주소가 잘못되었습니다.

NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION

요청된 드라이버 구성은 지원되지 않습니다.

NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER

네트워크 어댑터 하드웨어에서 잘못된 값을 제공했습니다.

NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER

레지스트리에 드라이버 구성 매개 변수가 없습니다.

NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS

네트워크 어댑터 하드웨어의 I/O 기본 주소가 잘못되었습니다.

NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL

사용할 수 있는 수신 버퍼 메모리의 양이 너무 작아 데이터를 받을 수 없습니다.

NDIS_ERROR_CODE_ADAPTER_DISABLED

네트워크 어댑터 하드웨어를 사용할 수 없습니다.

[in] NumberOfErrorValues

이 매개 변수를 따를 ULONG 값의 수를 지정합니다.

...

로깅할 오류와 연결된 ULONG의 가변 크기 배열을 지정합니다.

반환 값

없음

발언

NdisWriteErrorLogEntry I/O 오류 로그 레코드를 할당하고, 제공된 오류 정보로 레코드를 채운 다음, 레코드를 I/O 오류 로그 파일에 씁니다.

시스템은 오류 로그 레코드의 잠재적 크기에 제한을 줍니다. Windows 2000 이상 버전의 경우 제한은 ERROR_LOG_MAXIMUM_SIZE 정의됩니다. 따라서 NdisWriteErrorLogEntry 전달된 NumberOfErrorValues ULONG의 최대값보다 훨씬 적은 시스템 적용 제한이 있습니다.

실제로 NdisWriteErrorLogEntry 호출자는 NumberOfErrorValues 제한에 근접할 있습니다. 그 이유는 나중에 Win32 이벤트 뷰어를 사용하여 오류 로그를 읽는 사용자 또는 시스템 관리자에게 많은 추가 NDIS_STATUS_XXX 값을 제공하는 것이 특히 유용하지 않기 때문입니다. 가능한 모든 기회에 I/O 오류를 로깅하는 것은 사용자에게 특히 유용하지 않으므로 미니포트 드라이버는 사용자 또는 시스템 관리자가 특정 컴퓨터 또는 드라이버 초기화 중에 검색된 구성 리소스 충돌을 담당하는 네트워크 오류를 디버그하는 데 도움이 되는 중요한 I/O 오류만 기록해야 합니다.

일반적으로 미니포트 드라이버는 NIC에서 I/O 작업을 수행하는 데 필요한 하드웨어 리소스를 제어하거나 할당할 수 없는 경우 MiniportInitializeEx 함수에서 초기화하는 동안 NdisWriteErrorLogEntry 호출합니다. 미니포트 드라이버는 복구할 수 없는 하드웨어 오류로 인해 디바이스 재설정 작업이 실패할 때 NdisWriteErrorLogEntry 호출할 수도 있습니다. 이러한 종류의 I/O 오류를 로깅하면 사용자 또는 시스템 관리자가 하드웨어 구성 요소가 실패한 잘못 구성된 NIC 또는 NIC를 식별할 수 있습니다.

요구 사항

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

참고 항목

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes