権限アプリに制限されたデバイス インターフェイスを登録する
署名されたデバイス メタデータを通じてアクセス許可が付与されていない限り、アプリケーションはカスタム ドライバー機能へのアクセスを拒否されます。 このトピックでは、権限アプリのみがデバイス インターフェイス クラスにアクセスできることを示す Restricted プロパティを追加する方法を示します。 カスタム デバイス ドライバーには、このプロパティが必要です。
手順
情報 (INF) ファイルの Restricted プロパティの設定
InterfaceInstall32
セクションでは、デバイス インターフェイス クラスの GUID が登録されます。
AddProperty ディレクティブの下の行は、デバイス クラスのプロパティを設定します。 2 行目は、カスタム プロパティ カテゴリのカスタム プロパティを設定します。 プロパティ カテゴリ GUID は 14c83a99-0b3f-44b7-be4c-a178d3990564 で、プロパティ識別子は 2 です。 省略可能な Flags
エントリ値は存在せず、型は 17 (DEVPROP_TYPE_BOOLEAN) です。 プロパティの値は 1 です。
; Below, {11111111-0000-1111-0000-111111111111} is the GUID of the
; new device interface class in an AddInterface directive
; -- Interface installation
[InterfaceInstall32]
{11111111-0000-1111-0000-111111111111}=NewInterfaceInstall
[NewInterfaceInstall]
AddProperty=PrivilegedProperties
[PrivilegedProperties]
; DEVPKey_DeviceInterfaceClass_Restricted
{14c83a99-0b3f-44b7-be4c-a178d3990564}, 2, 17,,1 ; -- non-zero indicates privileged
解説
AddInterface ディレクティブの代わりに、ドライバーは IoRegisterDeviceInterface ルーチンを呼び出してデバイス インターフェイス クラスを登録することもできます。
IoSetDeviceInterfacePropertyData ルーチンを呼び出すことによって、制限付きインターフェイス プロパティを設定することもできます。
関連トピック
カスタム ドライバー アクセス のサンプル、内部デバイス用の UWP デバイス アプリ、ハードウェア デベロッパー センター