デバイス インターフェイス クラスの登録
デバイス インターフェイス クラスを登録するには、次の2つの方法があります。
PnP デバイスを制御するドライバーは、特定のデバイス インターフェイス クラスにデバイス インターフェイスを登録できます。 デバイス インターフェイスの登録の一環として、デバイス インターフェイス クラスが暗黙的に作成されまaaaす。 このトピックでは、ルーチンを使用してデバイス インターフェイスを 登録する方法について説明します。
INF ファイルには、INF DDInstall.Interfaces セクションを含めることができます。
WDM ドライバーは、そのデバイス オブジェクトに名前を付けません。 代わりに、ドライバーが IoCreateDevice を呼び出してデバイス オブジェクトを作成するときに、デバイス名に null 文字列を指定する必要があります。 詳細については「デバイス オブジェクトの作成」を参照してください。
デバイス オブジェクトを作成してデバイス スタックにアタッチした後、1 つのドライバーは IoRegisterDeviceInterface を呼び出してデバイス インターフェイス クラスを登録し、クラスのデバイス インターフェイス インスタンスを作成します。 通常、関数ドライバーは、その AddDevice ルーチンからこの呼び出しを行いますが、場合によっては、フィルター ドライバーは、インターフェイスを登録します。
このルーチンはシンボリック リンク名を返します。 ドライバーは、デバイス インターフェイス インスタンスを有効または無効にすると、リンク名を渡します。 他のシステム コンポーネントでは、ドライバーが有効になるまで、デバイス インターフェイス インスタンスを使用できません。 詳細については、「デバイス インターフェイス インスタンス の有効化と無効化」を参照してください 。
ドライバーは、シンボリック リンク名を使用してレジストリ キーにアクセスし、デバイス インターフェイスに固有の情報を格納することもできます (詳細については、IoOpenDeviceInterfaceRegistryKey を参照してください)。 アプリケーションでは、リンク名を使用してデバイスを開きます。
ドライバーは、追加のデバイス インターフェイス クラスのインスタンスを登録するために必要な回数 IoRegisterDeviceInterface を呼び出すことができます。
WDFドライバーからデバイス インターフェイスを使用するには、「デバイス インターフェイス (WDF) の使用」を参照してください。