Freigeben über


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:

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'
                                                }
        }

    }
}