RxPurgeAllFobxs 関数 (rxprocs.h)
RxPurgeAllFobxs は、 ネットワーク ミニ リダイレクターに関連付けられているすべての FOBX 構造体を消去します。
構文
void RxPurgeAllFobxs(
PRDBSS_DEVICE_OBJECT RxDeviceObject
);
パラメーター
RxDeviceObject
消去を行うミニ リダイレクター デバイス オブジェクトへのポインター。
戻り値
なし
解説
クリーンアップ時に、ファイル オブジェクトに関連付けられているユーザー ハンドルはこれ以上ありません。 このような場合、終了とクリーンアップの間の時間枠は、メモリ マネージャーとキャッシュ マネージャーによって維持される追加の参照によって決定されます。 RDBSS では、別のスレッドで実行されているスカベンジャー プロセスを使用して、不要な FOBX やその他の構造体を清掃および消去します。
ネットワーク ミニ リダイレクターは、PnP 電源変更イベントに応答して RxPurgeAllFobxs と RxScavengeAllFobsx を呼び出す場合があります。
RxPurgeAllFobxs ルーチンは、スカベンジャー ミューテックスを取得し、スカベンジャー オブジェクトの ClosePendingFobxsList メンバーを走査してリスト エントリを削除してから、ミューテックスを解放します。 FOBX 構造体が NULL でない場合、 RxPurgeAllFobxs は FOBX 構造体を消去し、関連付けられている FCB 構造体の排他ロックを取得しようとします。 成功した場合、 RxPurgeAllFobxs は、NET_FOBX構造体の逆参照と逆参照、最終処理、FCB 構造体の解放を試みます。
チェックされたビルドでは、 RxPurgeAllFobxs により、システムは次のようないくつかの条件に対して ASSERT を実行します。
- RxDeviceObject の RxScavenger->ClosePendingFobxsList 構造体の Flink メンバーは NULL です。
- Fobx->NodeTypeCode がRDBSS_NTC_FOBXされていません。
- リスト エントリの Flink メンバーと Blink メンバーは NULL です。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | rxprocs.h (Rxprocs.h を含む) |
IRQL | <= APC_LEVEL |