WdfDpcCancel 関数 (wdfdpc.h)
[KMDF にのみ適用]
WdfDpcCancel メソッドは、DPC オブジェクトのスケジュールされた EvtDpcFunc コールバック関数の実行を取り消そうとします。
構文
BOOLEAN WdfDpcCancel(
[in] WDFDPC Dpc,
[in] BOOLEAN Wait
);
パラメーター
[in] Dpc
フレームワーク DPC オブジェクトへのハンドル。
[in] Wait
TRUE の場合、DPC オブジェクトの EvtDpcFunc コールバック関数が取り消されるか、実行が完了するまで WdfDpcCancel メソッドが返されないことを示すブール値。 FALSE の場合、WdfDpcCancel メソッドは直ちにを返します。
戻り値
指定した DPC オブジェクトの EvtDpcFunc コールバック関数がシステムの DPC キューにある場合、WdfDpcCancel は TRUE を返します。 コールバック関数が実行されていたか、実行が完了したために、コールバック関数が DPC キューにない場合、メソッドは FALSE を 返します。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
指定した DPC オブジェクトの EvtDpcFunc コールバック関数がシステムの DPC キューにある場合は、キューから削除されます。 EvtDpcFunc 関数がキューにない場合は、実行中であるか、実行が完了しています。
Wait パラメーターが TRUE の場合、IRQL = PASSIVE_LEVELで WdfDpcCancel を呼び出す必要があります。 Wait パラメーターが FALSE の場合、任意の IRQL で WdfDpcCancel を呼び出すことができます。
例
次のコード例では、 WdfDpcCreate トピックのコード例で作成した DPC オブジェクトに関連付けられているコールバック関数の実行を取り消します。
WdfDpcCancel(
PDevExt->CompleteWriteDpc,
TRUE
);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfdpc.h (Wdf.h を含む) |
Library | Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。 |
IRQL | 「解説」を参照してください。 |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |