[KMDF と UMDF に適用]
WdfDeviceSetStaticStopRemove メソッドは、デバイスを停止および削除できるかどうかをフレームワークに通知します。
構文
VOID WdfDeviceSetStaticStopRemove(
[in] WDFDEVICE Device,
[in] BOOLEAN Stoppable
);
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
[in] Stoppable
指定したデバイスを停止および削除できるかどうかを示すブール値。 TRUE 場合、デバイスを停止および削除できます。 FALSE 場合、デバイスを停止および削除することはできません。
戻り値
なし
注釈
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
既定では、デバイスを停止および削除できます。 したがって、ドライバーは通常、WdfDeviceSetStaticStopRemove を呼び出します。これは、Stoppable パラメーターを FALSE 一時的に設定する必要がある場合のみです。 たとえば、DVD ライターを制御するドライバーは、DVD の書き込みを開始する前に、Stoppable を FALSE に設定して、WdfDeviceSetStaticStopRemove を呼び出す場合があります。 ドライバーが DVD の書き込みを完了すると、WdfDeviceSetStaticStopRemove を再度呼び出し、停止可能な TRUE 設定します。
ドライバーのデバイスが特別なファイルをサポートしている場合 (WdfDeviceSetSpecialFileSupport 参照)、フレームワークではデバイスの停止または削除は許可されません。 この場合、ドライバーは WdfDeviceSetStaticStopRemove 呼び出す必要はありません。
ドライバーは、停止可能な が TRUE に設定 、の WdfDeviceSetStaticStopRemove への呼び出しで、FALSE に設定された WdfDeviceSetStaticStopRemove に一致する必要があります。
Stoppable を FALSE に設定して WdfDeviceSetStaticStopRemove を呼び出しても、デバイスが予期せず削除された (突然削除された) 場合にフレームワークがドライバーに通知することを防ぐことはありません。
オペレーティング システムがデバイスを停止しないようにする方法の詳細については、「デバイスを停止する要求の処理」を参照してください。
例示
次のコード例では、指定したデバイスを停止および削除できないことをフレームワークに通知します。
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) |