IoAcquireCancelSpinLock 関数 (wdm.h)
IoAcquireCancelSpinLock ルーチンは、マルチプロセッサ セーフな方法で IRP のキャンセル可能な状態遷移を同期します。
構文
void IoAcquireCancelSpinLock(
PKIRQL Irql
);
パラメーター
Irql
[out]IoReleaseCancelSpinLockへの後続の呼び出しの現在の IRQL を保存する変数へのポインター。 通常、Irql はローカル変数としてスタックに保存されます。
戻り値
何一つ
備考
デバイス オブジェクトで I/O マネージャーが提供するデバイス キューを使用するドライバーは、IoSetCancelRoutineで IRP のキャンセル可能な状態を変更するたびに、キャンセル スピン ロックを保持している必要があります。
独自の IRP キューを管理するドライバーは、IoSetCancelRoutineを呼び出すときに、キャンセル スピン ロックを保持する必要はありません。
キャンセル スピン ロックの所有者は、IoReleaseCancelSpinLockを呼び出すことによって、すぐに解放する必要があります。
ドライバーが提供する キャンセル ルーチンは、スピン ロックのキャンセルを保持して呼び出されます。 取り消す IRP が完了したら、キャンセル スピン ロックを解放する必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 |
ヘッダー | wdm.h |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | CancelSpinLock(storport), CancelSpinLock(wdm), CancelSpinlockRelease(wdm), HwStorPortProhibitedDDIs(storport), SpinLockSafe(storport), SpinLockSafe(wdm) |