USB複合デバイスでないデバイスに仮想COMを複数作成

USB複合デバイスではないデバイス

Configuration Descriptor:
bNumInterfaces: 0x01

#Interface Descriptor:は1個

のUSBデバイスに仮想COMを複数作成しようとしているのですが
うまくいきません。

仮想COMの作成はWDKのサンプル:src\serial\serial
を参考に1個目は作成できました。

1個目作成後、
DeviceInit = WdfControlDeviceInitAllocate(
Driver,
&SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_RW_RES_R
);
でWDFDEVICE_INIT構造体を作成し、1個目と同じ処理を実行しているのですが
WdfDeviceOpenRegistryKey実行後、落ちます。

そもそも、USB複合デバイスではないデバイスに複数の仮想COMを作成し
ドライバをインストールする事は可能なのかもわかりません。

ご教授の程、よろしくお願いいたします。

同種のCOMポートドラ

同種のCOMポートドライバを複数個作成する場合には、WDKの同じディレクトリにサンプルがあるアッパーフィルタのSerenum.sysを使います。
実はこのWDKサンプルのソースは参考のためにあり、Serenum.sysはすでにWindows\system32\drivers以下に存在しているので、通常はSerenum.sysを改造して使うことはありません。

INFでの指定方法は、プレインストールのシリアルポートmsports.infのほか、市販の一般的なUSBシリアル変換ドングルのドライバやCDCのINFファイルを参考にされると良いと思います。