WdfDeviceSetStaticStopRemove 函式 (wdfdevice.h)
[適用於 KMDF 和 UMDF]
WdfDeviceSetStaticStopRemove 方法會通知架構是否可以停止和移除裝置。
語法
void WdfDeviceSetStaticStopRemove(
[in] WDFDEVICE Device,
[in] BOOLEAN Stoppable
);
參數
[in] Device
架構裝置物件的句柄。
[in] Stoppable
布爾值,指出是否可以停止和移除指定的裝置。 如果 TRUE,則可以停止並移除裝置。 如果 FALSE,則無法停止並移除裝置。
返回值
沒有
備註
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
根據預設,裝置可以停止並移除。 因此,驅動程式通常會呼叫 WdfDeviceSetStaticStopRemove 只有在它必須暫時將 Stoppable 參數設定為 FALSE時。 例如,控制 DVD 寫入器的驅動程式可能會呼叫 WdfDeviceSetStaticStopRemove,並將 Stoppable 設為 FALSE,然後才開始燃燒 DVD。 在驅動程式完成 DVD 燃燒之後,它會再次呼叫 WdfDeviceSetStaticStopRemove,並將 Stopable 設為 TRUE。
如果您的驅動程式的裝置支援特殊檔案(請參閱 WdfDeviceSetSpecialFileSupport),架構將不會允許停止或移除裝置。 在這裡情況下,驅動程式不需要呼叫 WdfDeviceSetStaticStopRemove 。
驅動程式必須比對 WdfDeviceSetStaticStopRemove 的每個呼叫,並將 Stoppable 設為 FALSE,並呼叫 WdfDeviceSetStaticStopRemove,並將 Stoppable 設定 為 TRUE。
呼叫 WdfDeviceSetStaticStopRemove,並將 Stoppable 設為 FALSE,並不會防止架構在裝置意外移除時通知驅動程式(意外移除)。
如需如何防止作系統停止裝置的詳細資訊,請參閱 處理停止裝置的要求。
範例
下列程式代碼範例會通知架構指定的裝置無法停止和移除。
WdfDeviceSetStaticStopRemove(
device,
FALSE
);
需求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
標題 | wdfdevice.h (包括 Wdf.h) |
程式庫 | Wdf01000.sys (KMDF):WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate(kmdf),KmdfIrql(kmdf),KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf) |