Как скопировать код экземпляра устройства в Windows XP

Обновлено: 04.07.2024

Каждый раздел DDInstall для каждой модели содержит необязательную директиву DriverVer и одну или несколько директив, ссылающихся на дополнительные именованные разделы в файле INF, показанные здесь с наиболее часто используемыми директивами INF, CopyFiles и AddReg, перечисленными первый.

Разделы, на которые ссылаются эти директивы, содержат инструкции по установке файлов драйверов и записи в реестр любой информации, относящейся к устройству и/или драйверу.

Записи

DriverVer=мм/дд/гггг[,x.y.v.z]
Эта необязательная запись указывает информацию о версии пакета драйвера.

Информацию о том, как указать эту запись, см. в директиве INF DriverVer.

CopyFiles=@имя файла | раздел-списка-файлов[,раздел-списка-файлов] .
Эта директива либо указывает один именованный файл, который необходимо скопировать с исходного носителя в место назначения, либо ссылается на один или несколько разделов, определяемых устройством записи INF, в которых указаны файлы, относящиеся к устройству, на исходном носителе для передачи в место назначения. Директива CopyFiles необязательна, но присутствует в большинстве разделов DDInstall.

Запись DefaultDestDir в разделе DestinationDirs INF-файла указывает место назначения для любого отдельного файла, который необходимо скопировать. Разделы SourceDisksNames и SourceDisksFiles или дополнительные INF-файлы, указанные в записи LayoutFile раздела Version этого INF-файла, указывают расположение файлов драйверов на дистрибутивном носителе.

CopyINF=имя_файла1.inf[,имя_файла2.inf].
(Windows XP и более поздние версии) Эта директива вызывает копирование указанных INF-файлов в целевую систему.

AddReg=добавить-раздел-реестра[,добавить-раздел-реестра].
Эта директива ссылается на один или несколько разделов, определяемых модулем записи INF, в которых новые подразделы, возможно, с начальными значениями, указываются для записи в реестр или в которых изменяются значения существующих ключей.

Спецификация HKR в таком разделе реестра добавления определяет путь реестра ..Class\SetupClassGUID\device-instance-id доступного пользователю драйвера. Этот тип спецификации HKR также называется a. "программный ключ".

AddProperty=добавить-раздел-реестра[,добавить-раздел-реестра].
(Windows Vista и более поздние версии) Ссылается на один или несколько разделов файла INF, которые изменяют свойства устройства, заданные для экземпляра устройства. Директиву INF AddProperty следует использовать только для установки свойства экземпляра устройства, которое является новым для Windows Vista или более поздних версий операционных систем Windows.

Для свойств экземпляра устройства, которые были введены ранее в Windows Server 2003, Windows XP или Windows 2000 и имеют соответствующие значения записи реестра, следует продолжать использовать директивы INF AddReg для установки свойств экземпляра устройства. Эти рекомендации относятся к свойствам, определяемым системой, и к пользовательским свойствам. Дополнительные сведения об использовании директивы AddProperty см. в разделе Использование директивы INF AddProperty и директивы INF DelProperty.

Include=имя_файла1.inf[,имя_файла2.inf].
Эта необязательная запись указывает один или несколько дополнительных системных INF-файлов, которые содержат разделы, необходимые для установки этого устройства и/или драйвера. Если указана эта запись, обычно так же указана запись Needs.

Например, системные INF-файлы для драйверов устройств, которые зависят от поддержки системной потоковой передачи ядра, указывают эту запись следующим образом:

Needs=имя_inf-раздела[,имя_inf-раздела].
Эта необязательная запись определяет разделы внутри системных INF-файлов, которые должны быть обработаны во время установки этого устройства. Обычно таким именованным разделом является раздел DDInstall (или DDInstall.xxx) в одном из INF-файлов, перечисленных в записи Include. . Однако это может быть любой раздел, на который есть ссылка в таком разделе DDInstall или DDInstall.xxx включенного INF.

Например, INF-файлы для драйверов устройств, которые имеют предшествующую запись Include, указывают эту запись следующим образом:

Записи потребностей не могут быть вложенными.

Delfiles=раздел-списка-файлов[,раздел-списка-файлов].
Эта директива ссылается на один или несколько разделов, определяемых модулем записи INF, со списком файлов на цели, подлежащих удалению.

Renfiles=раздел-списка-файлов[,раздел-списка-файлов].
Эта директива ссылается на один или несколько разделов, определяемых модулем записи INF, со списком файлов, которые должны быть переименованы в месте назначения, прежде чем исходные файлы, относящиеся к устройству, будут скопированы на целевой компьютер.

DelReg=удалить-раздел-реестра[,удалить-раздел-реестра].
Эта директива ссылается на один или несколько разделов, определяемых модулем записи INF, в которых указаны ключи и/или значения, которые необходимо удалить из реестра во время установки устройств.

Обычно эта директива используется для обработки обновлений, когда INF-файл должен очистить старые записи реестра от предыдущей установки этого устройства.

Спецификация HKR в таком разделе удаления реестра указывает путь реестра ..Class\SetupClassGUID\device-instance-id доступного пользователю драйвера. Этот тип спецификации HKR также называется a. "программный ключ".

DelProperty=добавить-раздел-реестра[,добавить-раздел-реестра].
(Windows Vista и более поздние версии) Ссылается на один или несколько разделов файла INF, которые удаляют свойства устройства, установленные для экземпляра устройства. Директиву INF DelProperty следует использовать только для удаления свойства экземпляра устройства, которое является новым для Windows Vista или более поздних версий Windows.

Для свойств экземпляра устройства, которые были введены ранее в Windows Server 2003, Windows XP или Windows 2000 и имеют соответствующие значения записи реестра, следует продолжать использовать директивы INF DelReg для удаления свойств экземпляра устройства. Эти рекомендации относятся к свойствам, определяемым системой, и к пользовательским свойствам. Дополнительные сведения об использовании директивы DelProperty см. в разделе Использование директивы INF AddProperty и директивы INF DelProperty.

FeatureScore=featurescore
Предупреждение. Директива FeatureScore обрабатывается только в том случае, если она указана непосредственно в разделе [DDInstall].

(Windows Vista и более поздние версии) Эта директива предоставляет дополнительный критерий ранжирования для драйверов, основанный на функциях, поддерживаемых драйвером. Например, оценки функций могут быть определены для класса настройки устройства, который различает драйверы на основе критериев, специфичных для класса.

Дополнительную информацию о ранжировании драйверов см. в разделе Как Windows ранжирует драйверы (Windows Vista и более поздние версии).

Для получения дополнительной информации об этой директиве см. Директиву INF FeatureScore.

Примечание. Хотя раздел DDInstall может содержать несколько записей FeatureScore, для раздела обрабатывается только первая запись.

BitReg=раздел битового реестра[,раздел битового реестра].
Эта директива ссылается на один или несколько разделов, определяемых модулем записи INF, в которых изменены существующие записи значений реестра типа REG_BINARY.

Спецификация HKR в таком разделе битового реестра указывает путь реестра ..Class\SetupClassGUID\device-instance-id доступного пользователю драйвера. Этот тип спецификации HKR также называется a. "программный ключ".

LogConfig=log-config-section[,log-config-section].
Эта директива ссылается на один или несколько разделов, определяемых модулем записи INF, в INF для устройства с корневым перечислением или для устройства, установленного вручную. В этих именованных разделах INF для такого «обнаруженного» или установленного вручную устройства указывает одну или несколько логических конфигураций аппаратных ресурсов, относящихся к шине, которые должны быть в рабочем состоянии устройства. INF-файл для такого установленного вручную устройства, которое не настраивается программным обеспечением, также должен иметь раздел DDInstall.FactDef.

Директива LogConfig никогда не используется для установки устройств Plug and Play (PnP). Однако вы можете использовать раздел INF DDInstall.LogConfigOverride, чтобы указать конфигурацию переопределения для устройств PnP.

Эта директива не имеет отношения ко всем драйверам и компонентам более высокого уровня (не устройств).

ProfileItems=раздел-элементов-профиля[,раздел-элементов-профиля].
(Microsoft Windows 2000 и более поздние версии Windows) Эта директива ссылается на один или несколько разделов, определяемых модулем записи INF, которые описывают элементы, которые должны быть добавлены или удалены из меню "Пуск".

UpdateInis=update-ini-section[,update-ini-section].
Эта редко используемая директива ссылается на один или несколько разделов, определяемых модулем записи INF, указывая исходный INI-файл, из которого конкретный раздел или строка в таком разделе должны быть прочитаны в целевой INI-файл с тем же именем во время установки. . При необходимости в разделе update-ini можно указать построчные изменения существующего INI-файла в месте назначения из заданного исходного INI-файла с тем же именем.

UpdateIniFields=update-inifields-section[,update-inifields-section].
Эта редко используемая директива ссылается на один или несколько разделов, определяемых модулем записи INF, в которых указываются изменения в строках файла INI для конкретного устройства.

Ini2Reg=ini-to-registry-section[,ini-to-registry section].
Эта редко используемая директива ссылается на один или несколько разделов, определяемых модулем записи INF, в которых разделы или строки из файла INI для конкретного устройства, поставляемого на исходном носителе, должны быть перемещены в реестр.

RegisterDlls=register-dll-section[,register-dll-section].
Эта директива ссылается на один или несколько разделов INF, используемых для указания файлов, которые являются элементами управления OLE и требуют самостоятельной регистрации.

UnregisterDlls=отменить регистрацию-dll-раздела[,отменить регистрацию-dll-раздела].
Эта директива ссылается на один или несколько разделов INF, используемых для указания файлов, которые являются элементами управления OLE и требуют самоотмены регистрации (самоудаления).

ExcludeID=строка-идентификации-устройства[,строка-идентификации-устройства].
Предупреждение. Директива ExcludeID обрабатывается только в том случае, если она указана непосредственно в разделе [DDInstall].

(Windows XP и более поздние версии) Эта директива указывает одну или несколько строк идентификации устройства (либо идентификаторы оборудования, либо совместимые идентификаторы). В разделе DDInstall не устанавливаются устройства, идентификаторы которых совпадают с любым из перечисленных идентификаторов оборудования или совместимых идентификаторов.

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

Примечания

В документации по Windows Driver Kit (WDK) термин DDInstall используется для обозначения названия раздела установки с расширениями платформы или без них. Таким образом, "раздел DDInstall" означает "именованный раздел в INF, имеющий формат [имя-раздела-установки] или [имя-раздела-установки< /em>.ntxxx]". Когда вы создаете имена для разделов DDInstall, вы должны включать префикс устройства, например [WDMPNPB003_Device] или [GPR400.Install.NT].

Каждый раздел DDInstall должен быть указан в записи для конкретного устройства/модели в разделе INF Models для каждого производителя INF-файла.

За исключением устройств, у которых нет связанных файлов для переноса с исходного носителя, файл INF, устанавливающий драйвер WDM на разных платформах операционных систем, должен иметь по крайней мере один из следующих разделов DDInstall:

Раздел install-section-name.ntx86, в котором указываются записи для установки устройств/драйверов, относящиеся к платформам на базе x86.

Раздел install-section-name.ntia64, в котором указаны записи для установки устройств/драйверов, характерные для платформ на основе Itanium.

Раздел install-section-name.ntamd64, в котором указаны записи для установки устройств/драйверов, характерные для 64-разрядных платформ.

Раздел install-section-name.ntarm, в котором указываются записи для установки устройств/драйверов, относящиеся к платформам на базе ARM.

Раздел install-section-name.ntarm64, в котором указываются записи для установки устройств/драйверов, относящиеся к платформам на базе ARM64.

Раздел install-section-name или install-section-name.nt, в котором указаны записи для установок устройств/драйверов, которые не относятся к конкретной аппаратной платформе. .

Дополнительную информацию об использовании определяемых системой расширений .nt, .ntx86, .ntia64, .ntamd64, .ntarm и .ntarm64 см. в разделе Создание INF-файлов для нескольких платформ и операционных систем.

Начиная с Windows 2000, INF-файл, который устанавливает драйверы, должен иметь разделы DDInstall.Services для указания информации реестра устройства/драйвера, которая должна храниться в реестре . Дерево \CurrentControlSet\Services. В зависимости от устройства оно также может иметь один или несколько DDInstall.HW, DDInstall.CoInstallers, DDInstall.Interfaces и/или DDInstall.LogConfigOverride.

Каждая директива в разделе DDInstall может ссылаться на более чем одно имя раздела. Однако каждый дополнительный именованный раздел должен быть отделен от следующего запятой (,).

Имя каждого раздела должно быть уникальным в INF-файле и соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для INF-файлов.

Предполагается, что любая директива AddReg, указанная в разделе DDInstall, ссылается на раздел реестра добавления, который нельзя использовать для хранения информации о драйверах верхнего или нижнего фильтров, о многофункциональных устройствах или о драйверах. независимые, но специфичные для устройства параметры. Если INF-файл устройства/драйвера должен хранить этот тип информации в реестре, он должен использовать директиву AddReg в своих недекорированных и декорированных разделах DDInstall.HW, если таковые имеются, для ссылки на другой INF-записывающий модуль. добавить-раздел-реестра.

В зависимости от класса установки устройства, указанного в разделе "Версия INF", в разделе DDInstall можно указать дополнительные директивы для конкретного класса. Дополнительные сведения о директивах для конкретных классов см. в следующих разделах:

Примеры

В этом примере показано расширение разделов DDInstall, Ser_Inst и Inp_Inst. Ссылки на эти разделы приведены в примере для раздела INF Models.

В следующем примере представлена ​​общая иллюстрация использования расширений платформы:

В следующем примере показан раздел DDInstall файла INF, который устанавливает системный драйвер WDM для аудиоустройства на различных платформах операционных систем:

В Windows Vista и более поздних версиях Windows унифицированная модель свойств устройств включает свойство состояния устройства и свойство кода проблемы. В унифицированной модели свойств устройств для представления этих свойств используются ключи свойств.

Windows Server 2003, Windows XP и Windows 2000 не поддерживают ни ключи свойств унифицированной модели свойств, ни соответствующие значения записей реестра, представляющие эти свойства. Однако соответствующую информацию можно получить, вызвав функцию CM_Get_DevNode_Status. Для обеспечения совместимости с более ранними версиями Windows Windows Vista и более поздние версии также поддерживают CM_Get_DevNode_Status. Однако для доступа к свойствам драйвера устройства следует использовать ключи свойств унифицированной модели свойств устройства.

Кроме того, в Windows 8 и более поздних версиях Windows также имеется свойство статуса проблемы. Это свойство содержит значение NTSTATUS, которое может содержать дополнительную информацию о коде проблемы, установленном на устройстве. Если значение статуса проблемы — STATUS_SUCCESS, то дополнительная информация, относящаяся к коду проблемы, не была доступна, когда код проблемы был установлен на устройстве.

Свойства драйвера устройства перечислены по идентификаторам ключей свойств, которые вы используете для доступа к свойству в Windows Vista и более поздних версиях.

Информацию о том, как использовать ключи свойств для доступа к свойствам драйвера устройства в Windows Vista и более поздних версиях, см. в разделе Доступ к свойствам экземпляра устройства (Windows Vista и более поздние версии).

Чтобы получить доступ к статусу и коду проблемы для экземпляра устройства в Windows Server 2003, Windows XP и Windows 2000, вызовите CM_Get_DevNode_Status и укажите следующие параметры:

Установите для pulStatus указатель на значение типа ULONG, которое получает битовые флаги состояния, установленные для экземпляра устройства. Значение состояния может быть любой комбинацией битовых флагов с префиксом "DN_", которые определены в Cfg.h.

Задайте для pulProblemNumber указатель на значение типа ULONG, которое получает номер проблемы, заданный для экземпляра устройства. Номер проблемы — это одна из констант с префиксом "CM_PROB_", определенных в Cfg.h. CM_Get_DevNode_Status устанавливает номер проблемы, только если DN_HAS_PROBLEM задан в pulStatus.

Установите для dnDevInst дескриптор экземпляра устройства, для которого требуется получить статус и код проблемы.

Установите для параметра ulFlags нулевое значение.

Если вызов CM_Get_DevNode_Status завершается успешно, CM_Get_DevNode_Status извлекает запрошенный статус и код проблемы для экземпляра устройства и возвращает CR_SUCCESS. В случае сбоя вызова функции CM_Get_DevNode_Status возвращает один из кодов ошибок с префиксом "CR_", определенных в Cfgmgr32.h.

Использование диспетчера устройств для поиска кода проблемы и статуса проблемы для устройства

При возникновении проблемы с устройством диспетчер устройств наложит значок устройства в дереве на желтый треугольник с восклицательным знаком внутри. Щелкнув правой кнопкой мыши на устройстве и выбрав «Свойства», появится диалоговое окно с дополнительной информацией об устройстве. Код проблемы отображается на вкладке "Общие" в поле "Статус устройства".

Свойство "Статус проблемы" отображается в раскрывающемся списке "Свойства" на вкладке "Сведения" для устройства в диспетчере устройств.

Использование отладчика для поиска кода проблемы и статуса проблемы для устройства

Чтобы просмотреть все устройства с кодом проблемы в отладчике ядра, используйте расширение !devnode 0 21. Это также показывает статус проблемы на устройстве. Например:

Версию этой статьи для Microsoft Windows 2000 см. в разделе 244601.

ВВЕДЕНИЕ

Диспетчер устройств отображает список всех устройств, установленных на компьютере под управлением Windows XP. Когда вы просматриваете информацию об устройстве в диспетчере устройств, вы можете увидеть устройство в списке «Неизвестное устройство» рядом с желтым знаком вопроса. Определить причину появления этого неизвестного устройства может быть сложно, поскольку сведений о том, что его генерирует, немного. В этой статье рассматриваются возможные причины появления неизвестного устройства в диспетчере устройств.

Дополнительная информация

Основная причина, по которой в Диспетчере устройств отображается Неизвестное устройство, заключается в том, что у вас есть устройство, которое работает неправильно. Чтобы устранить эту проблему, получите обновленный драйвер для устройства.

Используйте следующие способы, чтобы Windows распознала ваше устройство.

Способ 1: Центр обновления Windows

Посетите следующий веб-сайт Microsoft, чтобы узнать, определяет ли он автоматически обновленный драйвер для вашего устройства. Установите все рекомендуемые драйверы.

Способ 2. Загрузите и установите последнюю версию драйвера из Интернета

При загрузке драйвера из Интернета загрузите версию драйвера для Windows XP, если в списке указано несколько версий Windows. Используйте один из следующих вариантов:

Посетите веб-сайт производителя компьютера, если устройство поставляется вместе с компьютером.

Посетите веб-сайт производителя устройства, если устройство было установлено после покупки компьютера.

Посетите веб-сайт производителя устройства, если устройство было предварительно установлено на вашем компьютере, а у производителя компьютера нет обновленного драйвера.

Найдите раздел «Драйверы» или «Загрузки» на веб-сайте производителя и найдите имя устройства. Загрузите и установите версию драйвера для Windows XP.

Раздел для опытных пользователей

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

Причины появления неизвестных устройств в диспетчере устройств

У устройства нет драйвера устройства. Если драйвер устройства недоступен, диспетчер устройств отображает устройство как неизвестное устройство и помещает его в ветку «Другие устройства». Это очень характерно для универсальной последовательной шины (USB) и составных устройств Института электротехники и электроники (IEEE) 1394. Кроме того, статус Error Code 1 или Error Code 10 может отображаться при просмотре свойств устройства в диспетчере устройств.

Примечание. Большинство устройств USB и IEEE 1394 правильно работают без дополнительных драйверов устройств, поскольку они настраиваются драйверами, входящими в состав Windows для этих типов шин. Однако дополнительный драйвер устройства необходим, если устройство не соответствует определенным и поставляемым драйверам класса Windows. Если шина не может идентифицировать устройство, она интерпретирует его как составное устройство и сообщает об этом в Диспетчере устройств.

Вы используете драйвер устройства Microsoft Windows 98 или Microsoft Windows 95: вы не можете использовать файлы драйвера виртуального устройства (.vxd), которые являются общими для драйверов Windows 98 или Windows 95 в Windows XP. Если вы попытаетесь установить их на свой компьютер под управлением Windows XP, устройство может быть указано как неизвестное в диспетчере устройств. Обычно это происходит, когда производитель драйвера устройства неправильно различает два драйвера или предполагает, что Windows XP может использовать файлы .vxd Windows 98 или Windows 95.

Неопознанный идентификатор устройства. У каждого аппаратного устройства есть специальный идентификатор, который используется Plug and Play. Этот идентификатор может включать в себя несколько различных типов, таких как идентификатор поставщика, идентификатор устройства, идентификатор подсистемы, идентификатор поставщика подсистемы или идентификатор версии. Если идентификатор устройства отсутствует или ваш компьютер под управлением Windows XP не распознает идентификатор устройства, диспетчер устройств может указать устройство как неизвестное.

Примечание Программное обеспечение, требующее виртуального подключения к оборудованию, может создавать такие устройства. Кроме того, известно, что устройства, являющиеся мостом между типами шин, такие как драйвер устройства, который позволяет устройству с параллельным портом эмулировать шину SCSI или AT Attachment Packet Interface (ATAPI), также генерируют ответ неизвестного устройства в диспетчере устройств.< /p>

Устранение неполадок для опытных пользователей

Устранение неполадок с программным обеспечением

Запустите компьютер в безопасном режиме

Хотя это и не на 100% надежно, запуск компьютера в безопасном режиме может быть одним из самых простых способов определить, создано ли неизвестное устройство программой.

Чтобы запустить компьютер в безопасном режиме, нажмите F8 после перезагрузки компьютера. В появившемся меню дополнительных параметров Windows используйте клавиши со стрелками, чтобы выбрать безопасный режим, а затем нажмите клавишу ВВОД. Если неизвестное устройство больше не отображается в диспетчере устройств, вероятно, неизвестное устройство не является аппаратным.

Проверьте папку автозагрузки

Если вы подозреваете, что причиной неизвестного устройства является определенная программа, проверьте папку «Автозагрузка» на вашем компьютере, чтобы узнать, какие программы настроены для запуска при загрузке компьютера. Папка автозагрузки находится в следующем месте на вашем жестком диске, где C — это диск, на котором установлена ​​Windows, а профиль пользователя — это ваш профиль пользователя:

C:\Documents and Settings\профиль пользователя\Главное меню\Программы

Использовать инструмент "Информация о системе"

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

Чтобы использовать инструмент "Информация о системе" для просмотра списка программ, которые запускаются при включении компьютера, выполните следующие действия:

Нажмите «Пуск», выберите «Выполнить», введите msinfo32 и нажмите «ОК».

Разверните раздел Программная среда и дважды щелкните Автозапуск программ.

Отображается список программ, которые настроены для запуска при включении компьютера.

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

Чтобы использовать инструмент "Информация о системе" для просмотра списка проблемных устройств, выполните следующие действия:

Нажмите «Пуск», выберите «Выполнить», введите msinfo32 и нажмите «ОК».

Разверните Компоненты и дважды щелкните Проблемные устройства.

Список установленных на вашем компьютере устройств, на которых может возникнуть проблема, отображается в области сведений следующим образом:

В столбце "Устройство" указано общее имя устройства или имя связанного с ним драйвера устройства.

В столбце "Идентификатор устройства PNP" перечислены идентификаторы устройств, например идентификатор соединения периферийных компонентов (PCI), идентификатор ISA, идентификатор шины другого типа или неизвестный тип.

В столбце "Код ошибки" указан код ошибки, связанный с этой конкретной проблемой. Часто код ошибки диспетчера устройств помогает определить, что создало неизвестное устройство. Например, если ваш компьютер выдает сообщение об ошибке «Неверный или отсутствующий драйвер устройства», в разделе «Проблемные устройства» могут отображаться записи трех типов, в зависимости от типа устройства:

Идентификатор устройства PCI PnP:

Имя устройства | PCI\VEN_00000&DEV_0000&SUBSYS_00000000&REV_00\0&0000 | Код ошибки

Имя устройства | ?\PNP0000\0

Неверный или несовместимый драйвер устройства:

Имя устройства | КОРЕНЬ\НЕИЗВЕСТНО\0000

Просмотр файла Setupapi.log

Если устройство имеет понятное имя, используйте информацию в файле Setupapi.log, чтобы определить причину неизвестного устройства. По умолчанию файл Setupapi.log находится в папке %SystemRoot%.

Иногда указанное имя устройства может вводить в заблуждение. Например, устройство может быть указано в диспетчере устройств как последовательное устройство, хотя на самом деле оно не связано с последовательным портом. Обычно это происходит, когда доступен частичный идентификатор Plug and Play, и диспетчер устройств интерпретирует его как последовательное устройство. Такая интерпретация может происходить из-за совместимого идентификатора, указанного устройством. Опять же, это можно исправить, найдя программу запуска, которая может вести себя неправильно.

Имейте в виду, что простое удаление неизвестного устройства в диспетчере устройств не работает, если причиной появления неизвестного устройства является программа. Вы должны удалить программу, а затем перезагрузить компьютер. Если неизвестное устройство по-прежнему отображается в диспетчере устройств после перезагрузки компьютера в безопасном режиме, обратитесь в службу поддержки клиентов Майкрософт за помощью в удалении устройства.

Устранение проблем с оборудованием

Чтобы определить причину неизвестного устройства, используйте один из следующих методов:

Удалите аппаратные устройства с вашего компьютера

Удаляйте аппаратные устройства по одному, пока неизвестное устройство не исчезнет из списка в диспетчере устройств. Имейте в виду, что этот метод может занять много времени и не всегда надежен.

Определить, имеет ли драйвер устройства цифровую подпись

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

Примечание. Драйвер устройства с цифровой подписью может отображаться в Диспетчере устройств как неизвестное устройство.

Для получения дополнительных сведений о подписи драйверов для Windows посетите следующий веб-сайт Microsoft:

Вы можете заблокировать установку драйверов устройств, не содержащих цифровую подпись. Используйте этот подход, если хотите предотвратить намеренные попытки дестабилизировать работу компьютера. Для этого выполните следующие действия:

Нажмите «Пуск», выберите «Выполнить», введите control sysdm.cpl в поле «Открыть» и нажмите «ОК».

Перейдите на вкладку "Оборудование".

В разделе "Драйверы" нажмите "Подписание драйверов", а затем нажмите "Блокировать – никогда не устанавливать неподписанные драйверы".

Нажмите "ОК" два раза.

Чтобы просмотреть список драйверов устройств, установленных на вашем компьютере и не имеющих цифровой подписи, воспользуйтесь одним из следующих способов:

Просмотр файла Setupapi.log

Ищите записи, похожие на следующие:

Файл (C:\Windows\inf\ntapm.inf) не имеет цифровой подписи, дата драйвера игнорируется.

Установка раздела epatapi_inst из папки C:\documents and settings\имя пользователя\мои документы\тестовые драйверы параллельного порта\epatapnt.inf
Неподписанный или неправильно подписанный драйвер (C:\documents and settings\имя пользователя\my Были установлены документы\тестовые драйверы параллельного порта\epatapnt.inf) для адаптера Parallel ATAPI. Ошибка 0xe000022f: Сторонний INF-файл не содержит информации о цифровой подписи. мои документы\тестовые драйверы параллельного порта\epatapnt.mpd в C:\Windows\System32\DRIVERS\epatapnt.mpd.
Установлен неподписанный или неправильно подписанный драйвер (C:\documents and settings\имя пользователя\мои документы\тестовые драйверы параллельного порта\epatapnt.mpd) для параллельного адаптера ATAPI. Ошибка 0xe000022f: сторонний INF-файл не содержит информации о цифровой подписи.

Используйте инструмент проверки подписи файлов

Инструмент проверки подписи файлов содержит список всех неподписанных драйверов, установленных на вашем компьютере. Он создает журнал Sigverif.txt, который находится в папке %SystemRoot%. Воспользуйтесь любым текстовым редактором (например, Блокнотом) для просмотра файла. Чтобы использовать средство проверки подписи файлов для отображения списка драйверов без цифровой подписи, выполните следующие действия:

Нажмите "Пуск", выберите "Выполнить", введите sigverif и нажмите "ОК".

Нажмите «Дополнительно», перейдите на вкладку «Поиск» и нажмите «Искать другие файлы без цифровой подписи».

Установите флажок «Включить вложенные папки», а затем нажмите «Обзор».

Найдите и выберите папку %SystemRoot%\System32\Drivers, дважды нажмите "ОК", а затем нажмите "Пуск".

Просмотрите список, а затем обратитесь к производителю драйвера за информацией о том, как получить обновленный драйвер с цифровой подписью.

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

Призрачное устройство может появиться, если вы вручную установили драйвер для устройства Plug and Play, которое компьютер уже обнаружил и установил. Вы можете решить эту проблему, удалив фантомное устройство.

Похожие проблемы и решения для опытных пользователей

Для получения дополнительной информации о том, как использовать Диспетчер устройств для управления устройствами в Windows XP, щелкните следующие номера статей, чтобы просмотреть статьи в базе знаний Майкрософт:

283658 Как управлять устройствами в Windows XP

307970 Как настроить устройства с помощью диспетчера устройств в Windows XP

304514 Как настроить Диспетчер устройств для отображения подробной информации

310126 Устранение конфликтов устройств с диспетчером устройств

283361 Диспетчер устройств по-прежнему отображает устройство после того, как вы попытаетесь его удалить

310123 Объяснение кодов ошибок, генерируемых диспетчером устройств в Microsoft Windows XP Professional

Для получения дополнительных сведений об инструменте "Информация о системе" щелкните следующие номера статей, чтобы просмотреть статьи в базе знаний Майкрософт:

308549 Описание инструмента системной информации Windows XP (Msinfo32.exe)

300887 Как использовать переключатели системной информации (MSINFO32)

Для получения дополнительных сведений об устранении неполадок с помощью средства Msconfig щелкните следующие номера статей, чтобы просмотреть статьи в базе знаний Майкрософт:

310560 Устранение ошибок конфигурации с помощью утилиты настройки системы в Windows XP

Если перечисленные здесь статьи не помогут решить проблему или у вас возникнут симптомы, отличные от описанных в этой статье, выполните поиск дополнительных сведений в базе знаний Майкрософт. Для поиска в базе знаний Майкрософт посетите следующий веб-сайт Майкрософт:

Обсуждаемые в этой статье сторонние продукты производятся компаниями, независимыми от Microsoft. Microsoft не дает никаких гарантий, подразумеваемых или иных, в отношении производительности или надежности этих продуктов.

В Windows Vista и более поздних версиях Windows унифицированная модель свойств устройств поддерживает свойство устройства, представляющее идентификатор экземпляра устройства. Модель унифицированных свойств устройств использует ключ свойства DEVPKEY_Device_InstanceId для представления этого свойства.

Windows Server 2003, Windows XP и Windows 2000 также поддерживают это свойство. Однако эти более ранние версии Windows не поддерживают ключ свойства унифицированной модели свойств устройства. Вместо этого вы можете получить идентификатор экземпляра устройства в этих более ранних версиях Windows, вызвав SetupDiGetDeviceInstanceId. Для обеспечения совместимости с более ранними версиями Windows Windows Vista и более поздние версии также поддерживают SetupDiGetDeviceInstanceId. Однако для доступа к этому свойству в Windows Vista и более поздних версиях следует использовать соответствующий ключ свойства.

Информацию о том, как использовать ключи свойств для доступа к свойствам драйвера устройства в Windows Vista и более поздних версиях, см. в разделе Доступ к свойствам экземпляра устройства (Windows Vista и более поздние версии).

Чтобы получить идентификатор экземпляра устройства в Windows Server 2003, Windows XP и Windows 2000, выполните следующие действия:

Вызовите SetupDiGetDeviceInstanceId, чтобы получить размер идентификатора экземпляра устройства в байтах.Укажите следующие значения параметров:

  • Задайте для DeviceInfoSet дескриптор набора информации об устройстве, который содержит элемент информации об устройстве, для которого требуется получить запрошенный идентификатор экземпляра устройства.
  • Задайте для DeviceInfoData указатель на структуру SP_DEVINFO_DATA, представляющую элемент информации об устройстве, для которого необходимо получить идентификатор экземпляра устройства.
  • Задайте для DeviceInstanceId значение NULL.
  • Установите для параметра DeviceInstanceIdSize нулевое значение.
  • Задайте для RequiredSize указатель на переменную с типом DWORD, которая получает количество символов, необходимое для хранения идентификатора экземпляра устройства, заканчивающегося нулем.

В ответ на первый вызов SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceId задает для *RequiredSize размер буфера в байтах, необходимый для извлечения значения свойства, регистрирует код ошибки ERROR_INSUFFICIENT_BUFFER и возвращает значение ЛОЖНЫЙ. Последующий вызов GetLastError возвращает последний зарегистрированный код ошибки.

Вызовите SetupDiGetDeviceInstanceId еще раз и укажите те же значения параметров, что и при первом вызове, за исключением следующих изменений:

  • Задайте для DeviceInstanceId указатель на строковый буфер, который получает идентификатор экземпляра устройства, завершающийся нулем, который связан с элементом информации об устройстве.
  • Задайте для DeviceInstanceIdSize размер в символах буфера DeviceInstanceId. Первый вызов SetupDiGetDeviceInstanceId извлек требуемый размер буфера DeviceInstanceId в *RequiredSize.

Если второй вызов SetupDiGetDeviceInstanceId завершается успешно, SetupDiGetDeviceInstanceId задает для буфера DeviceInstanceId идентификатор экземпляра устройства, а для *RequiredSize задает размер экземпляра устройства в символах. идентификатор, который был получен, и возвращает TRUE. В случае сбоя вызова функции SetupDiGetDeviceInstanceId возвращает FALSE, а вызов GetLastError возвращает зарегистрированный код ошибки.

Функция DeviceProperties_RunDLL в диспетчере устройств может быть вызвана из командной строки с помощью rundll32.exe. В следующем примере кода показан формат вызова DeviceProperties_RunDLL из командной строки.

Формат и требования для поля параметр-имя-компьютера аналогичны описанным для строки командной строки, предоставляемой параметром lpCmdLine в DeviceProperties_RunDLL. Формат и требования для поля device-instance-ID-parameter также аналогичны описанным для строки командной строки lpCmdLine со следующим дополнительным требованием: если подполе device-instance-ID содержит амперсанд (&), подполе device-instance-ID должно быть заключено в кавычки (").

Следующие примеры кода иллюстрируют формат и требования для предоставления параметра-имени-машины и параметра-идентификатора-экземпляра-устройства для вызова DeviceProperties_RunDLL из командной строки. быстрый. Эти примеры соответствуют примерам, приведенным в разделе Программный вызов диалогового окна свойств устройства в приложении установки.

(Windows XP и более поздние версии) Необязательное поле параметр-имя-машины не указывается, что по умолчанию указывает, что компьютер является локальным компьютером. Обязательное поле device-instance-ID-parameter содержит идентификатор экземпляра устройства "root\system\0000".

(Windows XP и более поздние версии) Необязательное поле параметр-имя-машины не указывается, что по умолчанию указывает, что компьютер является локальным компьютером. Обязательное поле device-instance-ID-parameter содержит идентификатор экземпляра устройства "PCI\VEN_8086&DEV_2445 &SUBSYS_010E1028&REV_12\3&172E68DD&0&FD". Поскольку идентификатор экземпляра устройства включает амперсанд (&), подполе идентификатор_экземпляра_устройства заключено в кавычки (").

(Windows 2000 и более поздние версии) Обязательное поле параметр-имя-машины содержит пару кавычек ("") в качестве имя-машины, что указывает на то, что компьютер является локальным компьютером. Обязательное поле device-instance-ID-parameter содержит идентификатор экземпляра устройства "root\system\0000".

(Windows 2000 и более поздние версии) Обязательное поле параметр-имя-машины содержит имя удаленной машины "\\RemoteMachineAbc". Обязательное поле device-instance-ID-parameter содержит идентификатор экземпляра устройства "root\system\0000".

Читайте также: