Beispielregistrierungseintrag für UVC-Erweiterungseinheiten
Wichtig
Der Inhalt und der Beispielcode in diesem Thema sind veraltet und werden derzeit nicht unterstützt. Dies funktioniert möglicherweise nicht mit der aktuellen Toolkette für die Treiberentwicklung.
Dieses Thema enthält einen Beispielregistrierungseintrag, den Sie zur Unterstützung von Erweiterungseinheiten verwenden können.
Die Einträge müssen dem Registrierungsunterschlüssel HKLM\System\CurrentControlSet\Control\NodeInterfaces hinzugefügt werden. Dieser Registrierungsunterschlüssel enthält GUID-Werte für Eigenschaftensätze und die IID- und CLSID-Werte für die Schnittstellen, die diesem Eigenschaftensatz entsprechen.
Verifizieren Sie Folgendes:
Die GUID des Eigenschaftensatzes stimmt mit der GUID im Deskriptor der Erweiterungseinheit überein.
Die WERTE IID und CLSID im Unterschlüssel NodeInterfaces werden in binärer Little-Endian-Form gespeichert.
Daher würde ein IID-Wert von {12345678-1234-5678-0123456789abcdef} wie folgt gespeichert:
78 56 34 12 34 12 78 56 01 23 45 67 89 ab cd ef
- Die GUIDs müssen eindeutig sein und mit Guidgen.exegeneriert werden, einem Tool, das im Microsoft Windows SDK enthalten ist.
Fügen Sie den folgenden Code in das Registrierungsskript mit dem willkürlichen Namen Xusample.rgs ein:
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'
}
}
}
}
}
}
Um die Installation durch Registrieren der Plug-In-DLL zu unterstützen, fügen Sie dem Registrierungsskript den folgenden Code hinzu:
HKCR
{
NoRemove CLSID
{
ForceRemove {zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz} = s 'CompanyName Extension Unit Interface'
{
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Both'
}
}
}
}