Пример записи реестра для единиц расширения UVC
Важно!
Содержимое и пример кода в этом разделе устарели и в настоящее время не поддерживаются. Она может не работать с текущей цепочкой инструментов разработки драйверов.
В этом разделе содержится пример записи реестра, которую можно использовать для поддержки модулей расширения.
Записи необходимо добавить в подраздел реестра HKLM\System\CurrentControlSet\Control\NodeInterfaces . Этот подраздел реестра содержит значения GUID набора свойств, а также значения IID и CLSID для интерфейсов, соответствующих этому набору свойств.
Проверьте следующее:
ИДЕНТИФИКАТОР GUID набора свойств соответствует ИДЕНТИФИКАТОРу GUID в дескрипторе единицы расширения.
Значения IID и CLSID в подразделе NodeInterfaces хранятся в двоичной форме с маленьким байтом.
Таким образом, значение IID {12345678-1234-5678-0123456789abcdef} будет храниться как:
78 56 34 12 34 12 78 56 01 23 45 67 89 ab cd ef
- Идентификаторы GUID должны быть уникальными и должны быть созданы с помощью Guidgen.exe, средства, включенного в Microsoft Windows SDK.
Включите следующий код в скрипт реестра с произвольным именем Xusample.rgs:
HKLM
{
NoRemove SYSTEM
{
NoRemove CurrentControlSet
{
NoRemove Control
{
NoRemove NodeInterfaces
{
ForceRemove {xxxxxxxx-xxxx-xxxx-xxxx-
xxxxxxxxxxxx} = s 'Extension Unit
Property Set'
{
val IID = b 'yyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyy'
val CLSID = b 'zzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzz'
}
}
}
}
}
}
Чтобы обеспечить поддержку установки путем регистрации подключаемой библиотеки DLL, добавьте следующий код в скрипт реестра:
HKCR
{
NoRemove CLSID
{
ForceRemove {zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz} = s 'CompanyName Extension Unit Interface'
{
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Both'
}
}
}
}