共用方式為


指定裝置對象的獨佔存取權

如果已啟用裝置的獨佔存取權,則一次只能開啟裝置的一個句柄。 若要讓 I/O 管理員強制執行裝置的獨佔存取權,則必須為裝置堆疊中的具名裝置物件設定獨佔屬性。

對於同時具有 PDO 和 FDO 的 WDM 裝置堆疊,獨佔屬性只能由 INF 檔案使用 INF AddReg 指示詞來設定。 PDO 是堆疊中的具名物件,但總線驅動程式(不是函式驅動程式本身)代表函式驅動程式建立 PDO。 指示總線驅動程式設定 PDO 獨佔旗標的唯一方式是類別或裝置 INF 檔案。 (對 IoCreateDevice 例程的呼叫會建立 FDO;設定 FDO 的獨佔旗標沒有任何作用。

裝置物件未堆疊的驅動程式,例如非 WDM 驅動程式和以原始模式運作的裝置,可以使用 IoCreateDeviceSecure 例程來設定其具名裝置對象的獨佔屬性。

不論後綴名稱為何,I/O 管理器都會根據具名裝置物件的名稱來實施專屬性。 例如,假設裝置物件的名稱為 “\Device\DeviceName”。 然後,I/O 管理員會強制執行獨佔性要求,以開啟「\Device\DeviceName\Filename1」,然後接著開啟「\Device\DeviceName\Filename2」。 如果裝置堆疊中的兩個物件被命名(不建議這麼做),I/O 管理員會允許為每個物件開啟一個單一的句柄。 在這種情況下,驅動程式必須在其 DRIVER_DISPATCH 回呼函式內強制執行排他性。 I/O 管理員也不會強制相對於其他檔案控制碼的開啟的獨佔性。 如需裝置命名空間中檔案開啟要求的詳細資訊,請參閱 控制裝置命名空間存取