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


Утверждение файла Sdv-map.h

Файл Sdv-map.h содержит строку текста, которая сообщает SDV, что вы одобрили файл, предположительно после изучения файла и исправления ошибок. Файл Sdv-map.h при создании содержит фразу "Утверждено=false".

Утверждение файла Sdv-map.h

  1. Откройте файл Sdv-map.h в текстовом редакторе, например Блокнот. SDV создает файл Sdv-map.h в каталоге источников драйвера. (Это локальный каталог для проверки.)

  2. Измените значение "Утверждено=false" на "Утверждено=true".

Когда следует утверждать файл Sdv-map.h

Sdv-map.h корректен и завершён, когда SDV:

  • Найдено все точки входа, которые он использует.

  • Основные точки входа были сопоставлены с соответствующими типами ролей функции.

Когда следует исправлять файл Sdv-map.h

Файл Sdv-map.h является неправильным или неполным, если SDV:

  • Не обнаружил никаких точек входа в драйвере, как правило, потому что не удается найти объявления типов ролей функции (см. раздел "Использование объявлений типов ролей функции").

  • Имеет повторяющиеся функции обратного вызова, связанные с типом роли функции.

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

  • Обнаружено, что в файле Sdv-map.h имеются неправильные или не существующие имена функций после утверждения файла.

Драйверам не требуется иметь каждую точку входа, которую SDV может анализировать. Если для проверки определенного правила требуется точка входа, которой у драйвера нет, SDV отменяет проверку этого правила и возвращает результат неприменимо. Этот результат не считается результатом сбоя.

Если SDV не удается найти точки входа в драйвере, он продолжает анализ. Если файл заголовка, используемый в анализе, является неполным или неверным, результаты проверки не являются надежными.

Если SDV обнаруживает, что в файле Sdv-map.h после утверждения файла присутствуют неправильные или несуществующие имена функций, SDV завершает работу и выдает предупреждение, как показано в следующем примере:

Warning 'driver' It appears that your sdv-map.h file has an incorrect entry at this line "#define fun_IRP_MJ_PNP DispatchPnpNotExist". Please regenerate your sdv-map.h file.

Чтобы устранить эту ошибку, удалите строки в файле Sdv.map, вызвавшие ошибку или повторно создающие файл.

Повторное создание файла Sdv-map.h

  1. Откройте файл Sdv-map.h и измените "Утверждено=true " на "Утверждено=false".

  2. Используйте команду staticdv /scan для повторного создания файла карты или используйте команду staticdv /rule или staticdv /config для выполнения анализа SDV.