Ну, я не смог найти функцию, которая устанавливает версию файла, только получает. Я закончил тем, что создал драйвер hello world и установил версию этого файла с помощью метода, который связывал Jesper (который является препроцессором). Это скомпилирует .sys с номером версии.
Я проанализировал файл .sys и нашел несколько мест с информацией о версии. Один из них в DWORD little-endian, это то, что Windows захватывает для деталей файла. Другой очень близок к нему, хранится в виде строки. Я не уверен, с какой программой я взаимодействую, поэтому я меняю обе. Изменение версии строки не меняет версию файла в деталях файла. Файлы .sys, похоже, имеют чувствительную файловую структуру. Если вы измените что-либо, не связанное с версией файла, Windows больше не будет правильно анализировать файл для данной версии.
Вот биты, которые я изменил. Версия строки увеличивается на единицу, потому что я тестировал.