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 에 대한 제한에 근접하는 경우도 거의 없습니다. 많은 추가 NDIS_STATUS_XXX 값을 제공하는 것은 Win32 이벤트 뷰어를 사용하여 나중에 오류 로그를 읽는 사용자 또는 시스템 관리자에게 특히 유용하지 않기 때문입니다. 가능한 모든 기회에서 I/O 오류를 기록하는 것은 사용자에게 특히 유용하지 않으므로 미니포트 드라이버는 사용자 또는 시스템 관리자가 특정 컴퓨터 또는 드라이버 초기화 중에 검색된 구성 리소스 충돌을 담당하는 네트워크 오류를 디버그하는 데 도움이 될 수 있는 중요한 I/O 오류만 기록해야 합니다.

일반적으로 미니포트 드라이버는 NIC에서 I/O 작업을 수행하는 데 필요한 하드웨어 리소스를 제어하거나 할당할 수 없는 NIC를 초기화할 수 없는 경우 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