WdfDeviceSetStaticStopRemove 関数 (wdfdevice.h)
[KMDF と UMDF に適用]
WdfDeviceSetStaticStopRemove メソッドは、デバイスを停止および削除できるかどうかをフレームワークに通知します。
構文
void WdfDeviceSetStaticStopRemove(
[in] WDFDEVICE Device,
[in] BOOLEAN Stoppable
);
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
[in] Stoppable
指定したデバイスを停止および削除できるかどうかを示すブール値。 TRUE の場合、デバイスを停止および削除できます。 FALSE の場合、デバイスを停止および削除することはできません。
戻り値
なし
解説
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
既定では、デバイスを停止および削除できます。 そのため、ドライバーは通常、一時的に Stoppable パラメーターを FALSE に設定する必要がある場合にのみ、WdfDeviceSetStaticStopRemove を呼び出します。 たとえば、DVD ライターを制御するドライバーは、DVD の書き込みを開始する前に、Stoppable を FALSE に設定して WdfDeviceSetStaticStopRemove を呼び出す場合があります。 ドライバーが DVD の書き込みを完了した後は、再び WdfDeviceSetStaticStopRemove を呼び出し、 Stoppable を TRUE に設定 します。
ドライバーのデバイスが特別なファイルをサポートしている場合 ( 「WdfDeviceSetSpecialFileSupport」を参照)、フレームワークはデバイスの停止または削除を許可しません。 この場合、ドライバーは WdfDeviceSetStaticStopRemove を呼び出す必要はありません。
ドライバーは、Stoppable が FALSE に設定された WdfDeviceSetStaticStopRemove と、Stoppable が TRUE に設定された WdfDeviceSetStaticStopRemove の呼び出しで、WdfDeviceSetStaticStopRemove のすべての呼び出しと一致する必要があります。
Stoppable を FALSE に設定して WdfDeviceSetStaticStopRemove を呼び出しても、デバイスが予期せず削除された (突然削除された) 場合にフレームワークからドライバーに通知されるのを防ぐことはありません。
オペレーティング システムがデバイスを停止しないようにする方法の詳細については、「デバイスを停止 するための要求の処理」を参照してください。
例
次のコード例では、指定したデバイスを停止および削除できないことをフレームワークに通知します。
WdfDeviceSetStaticStopRemove(
device,
FALSE
);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfdevice.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |