次の方法で共有


C28173

警告 C28173: 現在の関数は、4 GB を超える物理メモリに誤って適応しているようです

追加情報

このコードは、少数のマップ レジスタを返す IoGetDmaAdapter の呼び出しから復帰していないようです。 詳細については、ドキュメント を参照してください。

4 GB を超えるメモリを搭載したシステムでは、IoGetDmaAdapter 関数が返すマップ レジスタの数が要求よりも少なくなる可能性があります。要求された値が大きくなる (64 に近づく) ほど、その可能性が高くなります。これは、4 GB を超える物理メモリを 4 GB 未満の領域にマップする必要があるためです。

この警告メッセージは、要求された数よりも少ないレジスタの取得にコードが対応していない場合に表示されます。 関数が IoGetDmaAdapter を呼び出すと、コード分析ツールは、要求された数よりも少ない数のレジスタが IoGetDmaAdapter 関数から返される動作をシミュレートします。 呼び出し元の関数は、この条件を処理し、正常に返す必要があります。

4 GB を超えるシステムでは、他の形でドライバーが失敗する可能性があることに注意してください。 このような、発生し得るエラー モードについては、コードを調べる必要があります。 4 GB メモリの問題とマップ レジスタの詳細については、NdisMAllocateMapRegisters を参照してください。