NdisWriteEventLogEntry 함수(ndis.h)

NdisWriteEventLogEntry 는 이벤트를 Win32 이벤트 로그에 기록합니다.

구문

NDIS_STATUS NdisWriteEventLogEntry(
  [in]           PVOID       LogHandle,
  [in]           NDIS_STATUS EventCode,
  [in]           ULONG       UniqueEventValue,
  [in]           USHORT      NumStrings,
  [in, optional] PVOID       StringsList,
  [in]           ULONG       DataSize,
  [in, optional] PVOID       Data
);

매개 변수

[in] LogHandle

이 이벤트를 로깅하는 프로토콜의 드라이버 개체에 대한 포인터입니다.

[in] EventCode

이벤트를 설명하는 NDIS_STATUS_XXX 코드를 지정합니다.

[in] UniqueEventValue

오류 메시지의 이 instance 식별합니다.

[in] NumStrings

선택적 StringsList의 유니코드 문자열에 대한 포인터 수를 지정합니다. StringsListNULL이면 NumStrings는 0이어야 합니다.

[in, optional] StringsList

NULL 또는 버퍼링된 유니코드 문자열을 가리킵니다. 이벤트를 설명하는 이러한 문자열은 Win32 이벤트 로그에 삽입되며 Win32 이벤트 뷰어를 사용하여 검사할 수 있습니다. 각 문자열은 NUL로 끝나는 유니코드 문자열이어야 합니다.

[in] DataSize

데이터 에서 이진 데이터에 대한 버퍼의 바이트 수를 지정합니다. DataNULL인 경우 DataSize는 0이어야 합니다.

[in, optional] Data

NULL이거나 이벤트를 이해하는 데 유용한 버퍼링된 이진 덤프 데이터를 가리킵니다. 이 데이터는 Win32 이벤트 뷰어를 사용하여 검사할 수 있습니다.

반환 값

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

반환 코드 설명
NDIS_STATUS_SUCCESS
이벤트가 성공적으로 기록되었습니다.
NDIS_STATUS_BUFFER_TOO_SHORT
필요에 따라 제공된 유니코드 문자열 및 이진 덤프 데이터가 허용되는 최대 크기(MAX_EVENT_LOG_DATA_SIZE)를 초과합니다.
NDIS_STATUS_RESOURCES
NDIS에서 I/O 오류 로그 레코드에 대한 메모리를 할당할 수 없습니다.

설명

NdisWriteEventLogEntry 는 I/O 오류 로그 레코드를 할당하고, 이벤트에 대한 제공된 정보로 레코드를 채운 다음, 레코드를 I/O 오류 로그 파일에 씁니다. 사용자는 Win32 이벤트 뷰어를 사용하여 이벤트 및/또는 선택적 이진 덤프 데이터에 대한 선택적 설명을 포함하여 기록된 이벤트를 볼 수 있습니다.

NT 오류 로깅 스레드는 선택적 StringsList 에 제공된 모든 문자열을 사용하여 Win32 이벤트 로그에 기록된 메시지를 채웁니다. 각 문자열은 NUL로 끝나는 유니코드 문자열이어야 합니다. I/O 관리자는 초기 문자열이 오류를 보고하는 드라이버의 이름 또는 오류를 발생시킨 디바이스의 이름이라고 가정합니다.

호출자가 제공하는 유니코드 문자열은 레지스트리에서 읽거나 언어 독립적이어야 합니다(즉, 문자열은 모든 언어에서 동일해야 합니다. 예를 들어 문자열은 파일 이름일 수 있음).

호출자가 제공하는 덤프 데이터는 이벤트를 이해하는 데 유용한 모든 이진 데이터(예: 레지스터 값)일 수 있습니다. 호출자는 이진 데이터를 패딩할 필요가 없습니다. 필요한 경우 NdisWriteEventLogEntry 는 최종 데이터 크기가 여러 정수 sizeof(ULONG)가 되도록 이진 덤프 데이터를 패딩합니다.

시스템은 NdisWriteEventLogEntry에 제공된 선택적 데이터의 총 크기를 제한합니다. 문자열 목록과 (패딩된) 이진 덤프의 결합된 크기는 MAX_EVENT_LOG_DATA_SIZE 보다 작거나 같아야 합니다.

NdisWriteEventLogEntry 는 프로토콜 드라이버에서만 호출됩니다. 미니포트 드라이버는 NdisWriteErrorLogEntry 를 호출하여 이벤트 및 오류를 기록해야 합니다.

요구 사항

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

추가 정보

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes

NdisWriteErrorLogEntry