次の方法で共有


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

    }
}