指定裝置特性
每個裝置物件可以有一或多個裝置特性。 裝置特性會儲存為裝置物件DEVICE_OBJECT結構特性成員中的旗標。
大部分驅動程式只會指定FILE_DEVICE_SECURE_OPEN特性。 這可確保相同的安全性設定會套用至裝置命名空間中任何開啟的要求。 如需詳細資訊,請參閱 控制裝置命名空間存取。
FILE_AUTOGENERATED_DEVICE_NAME僅適用于 PDO。 FILE_FLOPPY_DISKETTE、FILE_REMOVABLE_MEDIA和FILE_WRITE_ONCE_MEDIA特性是儲存裝置特有的。 如需可能裝置特性旗標的描述,請參閱DEVICE_OBJECT特性成員的描述。
某些裝置特性,例如FILE_AUTOGENERATED_DEVICE_NAME,僅適用于個別裝置物件。 驅動程式可以藉由呼叫IoCreateDevice 或 IoCreateDeviceSecure來指定個別裝置物件的裝置特性設定。
下列特性適用于整個裝置堆疊:
FILE_DEVICE_SECURE_OPEN
FILE_FLOPPY_DISKETTE
FILE_READ_ONLY_DEVICE
FILE_REMOVABLE_MEDIA
FILE_WRITE_ONCE_MEDIA
驅動程式可以藉由呼叫 IoCreateDevice 或 IoCreateDeviceSecure來設定套用至整個裝置堆疊的裝置特性。 或者,適用于整個裝置堆疊的裝置特性可以在登錄中針對裝置或裝置的設定類別進行設定。 (如需詳細資訊,請參閱 在 Registry 中設定裝置物件屬性。)
PnP 管理員會決定裝置特性的登錄設定,如下所示。
如果為個別裝置指定值,PnP 管理員會使用該值;
否則,如果為裝置安裝類別指定值,則 PnP 管理員會使用該值;
否則,PnP 管理員會使用零值做為登錄設定。
如果套用至整個裝置堆疊的裝置特性是在登錄中設定,或是在堆疊中設定任何 FDO 或篩選 DO,則 PnP 管理員會針對堆疊中的每個裝置物件設定它。 (如果裝置具有 原始模式 ,因此沒有 FDO,則 PnP 管理員會改用 PDO。)