Поделиться через


C28173

предупреждение C28173: текущая функция, как представляется, неправильно адаптируется к физической памяти свыше 4 ГБ

Дополнительные сведения

Код не восстанавливается после вызова IoGetDmaAdapter , который возвращает небольшое количество регистров карты. Дополнительные сведения см. в документации по .

В системах с более чем 4 ГБ памяти функция IoGetDmaAdapter может возвращать меньше регистров карты, чем запрошено; это становится более вероятным, когда запрашиваемое значение становится большим (приближается к 64). Это связано с необходимостью сопоставить физическую память выше 4 ГБ с пространством ниже 4 ГБ.

Это предупреждающее сообщение появляется, когда код не адаптируется к получению меньшего количества регистров, чем запрашивается. Когда функция вызывает IoGetDmaAdapter, средство анализа кода имитирует, что функция IoGetDmaAdapter возвращает меньшее количество регистров, чем запрошено. Вызывающая функция должна обработать это условие и успешно вернуться.

Обратите внимание, что существуют и другие способы, при которых драйвер может завершиться сбоем в системах с объемом более 4 ГБ. Необходимо проверить код на наличие этих возможных режимов сбоя. Дополнительные сведения о проблемах с памятью 4 ГБ и регистрах карты см. в разделе NdisMAllocateMapRegisters.