UVC 拡張ユニットのサンプル レジストリ エントリ
重要
このトピックのコンテンツとサンプル コードは古く、現在はサポートされていません。 現在のドライバー開発ツールチェーンでは動作しない場合があります。
このトピックには、拡張ユニットをサポートするために使用できるサンプル レジストリ エントリが含まれています。
エントリは HKLM\System\CurrentControlSet\Control\NodeInterfaces レジストリ サブキーに追加する必要があります。 このレジストリ サブキーには、プロパティ セットの GUID 値と、そのプロパティ セットに対応するインターフェイスの IID と CLSID の値が含まれています。
次のことを確認します。
プロパティ セット GUID は、拡張ユニット記述子の GUID と一致します。
NodeInterfaces サブキーの IID と CLSID の値は、バイナリのリトル エンディアン形式で格納されます。
したがって、IID 値 {12345678-1234-5678-0123456789abcdef} は次のように格納されます。
78 56 34 12 34 12 78 56 01 23 45 67 89 ab cd ef
- GUID は一意である必要があり、Microsoft Windows SDK に含まれるツールである Guidgen.exe を使用して生成する必要があります。
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'
}
}
}
}