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) |