AtaPortDeviceBusy 関数 (irb.h)
AtaPortDeviceBusy ルーチンは、指定されたデバイスがビジー状態であることをポート ドライバーに通知します。
メモ ATA ポート ドライバーと ATA ミニポート ドライバー モデルは、今後変更または使用できない可能性があります。 代わりに、 Storport ドライバー モデルと Storport ミニポート ドライバー モデルを使用することをお勧めします。
構文
void AtaPortDeviceBusy(
[in] PVOID ChannelExtension,
[in] UCHAR TargetId,
[in] UCHAR Lun,
[in] ULONG BusyTimeout
);
パラメーター
[in] ChannelExtension
チャネル拡張機能へのポインター。
[in] TargetId
デバイスのターゲット識別子を指定します。
[in] Lun
デバイスの論理ユニット番号 (LUN) を指定します。
[in] BusyTimeout
デバイスがビジー状態であると推定される時間を秒単位で指定します。
戻り値
なし
解説
ポート ドライバーは、この呼び出しを受信すると、 BusyTimeout によって示される時間、指定されたデバイスの要求キューを一時停止します。 呼び出し元は、 TargetId と Lun パラメーターに IDE_UNTAGGED のワイルドカード値を割り当てることで、個々のデバイスの要求キューではなくチャネル要求キューを一時停止できます。
タイムアウト間隔の有効期限が切れると、ポート ドライバーによって一時停止されたキューが自動的に再開されます。
ミニポート ドライバーは、その IdeHwInterrupt ルーチンから AtaPortDeviceBusy を呼び出す必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | irb.h (Ata.h、Irb.h を含む) |