警告 C28173:目前的函式似乎無法正確適應超過 4 GB 的實體記憶體
其他資訊 |
程序代碼似乎不會從傳回少量地圖緩存器之ioGetDmaAdapter呼叫 IoGetDmaAdapter 復原。 如需詳細資訊,請參閱檔。 |
在記憶體超過 4 GB 的系統上,IoGetDmaAdapter 函式可能會傳回比要求的對應緩存器少;當要求的值變大時,這會變得更可能(接近 64)。這是因為必須將超過 4 GB 的實體記憶體對應到低於 4 GB 的空間。
當程式代碼不適應取得比要求少的緩存器時,會出現此警告訊息。 當函式呼叫 IoGetDmaAdapter時,程式代碼分析工具會模擬 IoGetDmaAdapter 函式會傳回比要求較少的緩存器數目。 呼叫函式必須處理此條件並成功傳回。
請注意,有其他方法可讓驅動程式在超過 4 GB 的系統上失敗。 您應該檢查程式代碼是否有這些可能的失敗模式。 如需 4 GB 記憶體問題和對應緩存器的詳細資訊,請參閱 NdisMAllocateMapRegisters。