次の方法で共有


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)

関連項目

IoReleaseCancelSpinLock

IoSetCancelRoutine