すべてのオブジェクト マネージャー オブジェクトと同様に、デバイス オブジェクトには名前を付けるか、名前を付けずにすることができます。 ユーザー モード アプリケーションは、I/O 要求を行うときに、操作のターゲットを名前で指定します。 オブジェクト・マネージャーは、名前を解決して、I/O 要求の宛先を判別します。
Von Bedeutung
必要な場合にのみ、ドライバーのセキュリティ名のデバイス オブジェクトを増やすのに役立ちます。 名前付きデバイス オブジェクトは、通常、従来の理由でのみ必要です。たとえば、特定の名前を使用してデバイスを開くアプリケーションがある場合や、PNP 以外のデバイス/コントロール デバイスを使用している場合などです。 WDF ドライバーは、 WdfDeviceCreateSymbolicLink を使用してシンボリック リンクを作成するために PnP デバイスに名前を付ける必要はありません。
ドライバーは、IoCreateDevice または IoCreateDeviceSecure を呼び出してデバイス オブジェクトを作成するときに、デバイス オブジェクトの名前を指定できます。 デバイス オブジェクトに名前を付けるタイミングと方法の詳細については、「 NT デバイス名」を参照してください。
名前付きデバイス オブジェクトには、MS-DOS デバイス名を指定することもできます。これは、 IoCreateSymbolicLink または IoCreateUnprotectedSymbolicLink によって作成されたシンボリック リンクです。 WDM ドライバーは、一般に、MS-DOS デバイス名を必要としません。 詳細については、「 MS-DOS デバイス名」を参照してください。
Von Bedeutung
名前付きデバイス オブジェクトを使用する場合は、 IoCreateDeviceSecure を使用し、それをセキュリティで保護するために SDDL を指定できます。 IoCreateDeviceSecure を実装する場合は、DeviceClassGuid のカスタム クラス GUID を必ず指定します。 その場合、既存クラスの GUID は指定しないでください。 指定すると、そのクラスに属する他のデバイスのセキュリティ設定や互換性が損なわれることがあります。 詳細については「WdmlibIoCreateDeviceSecure」を参照してください。
アプリケーションまたはその他の WDF ドライバーが PnP デバイスにアクセスできるようにするには、デバイス インターフェイスを使用する必要があります。 詳細については「デバイス インターフェイスの使用」を参照してください。 デバイス インターフェイスは、デバイス スタックの PDO へのシンボリック リンクとして機能します。 PDO へのアクセスを制御する方法の 1 つは、INF で SDDL 文字列を指定することです。 SDDL 文字列が INF ファイルにない場合、Windows は既定のセキュリティ記述子を適用します。 詳細については「デバイス オブジェクトのセキュリティ保護」と「デバイス オブジェクトを表す SDDL」を参照してください。
このセクションには、次のサブセクションが含まれています。