次の方法で共有


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 を表すハンドルを指定します。 このハンドルは、ミニポートInitializeEx する入力パラメーターです。

[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として定義されます。 そのため、NumberOfErrorValuesNdisWriteErrorLogEntry に渡されるため、システムによって強制される制限があり、ULONG の最大値よりもかなり小さくなります。

実際には、NdisWriteErrorLogEntry の呼び出し元NumberOfErrorValues の制限に近づいている場合もあります。これは、後で Win32 イベント ビューアーを使用してエラー ログを読み取るユーザーまたはシステム管理者にとって特に役に立たないNDIS_STATUS_XXX 値を追加で提供するためです。 可能性のあるすべての機会に I/O エラーをログに記録することは、ユーザーにとって特に役立ちません。そのため、ミニポート ドライバーは、ユーザーまたはシステム管理者が特定のコンピューターで NIC が担当するネットワーク 障害や、ドライバーの初期化中に検出された構成リソースの競合をデバッグするのに役立つ重大な I/O エラーのみをログに記録する必要があります。

一般に、ミニポート ドライバーは、制御 する NIC を初期化できない場合、または NIC に対して I/O 操作を実行するために必要なハードウェア リソースを割り当てることができない場合、ミニポートInitializeEx 関数からの初期化中に 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)

関連項目

ミニポートInitializeEx

ミニポートResetEx

NdisMSetMiniportAttributes