RxPurgeAllFobxs 函式 (rxprocs.h)
RxPurgeAllFobxs 會清除與網路迷你重新導向器相關聯的所有 FOBX 結構。
語法
void RxPurgeAllFobxs(
PRDBSS_DEVICE_OBJECT RxDeviceObject
);
參數
RxDeviceObject
應該清除的迷你重新導向器裝置物件的指標。
傳回值
無
備註
清除時,不會再有與檔案對象相關聯的使用者句柄。 在這種情況下,關閉和清除之間的時間範圍是由記憶體管理員和快取管理員所維護的其他參考所決定。 RDBSS 會使用在個別線程上執行的清除程序進程來清除不需要的FOBX和其他結構。
網路迷你重新導向器可能會呼叫 RxPurgeAllFobxs 和 RxScavengeAllFobsx 以回應 PnP 電源變更事件。
RxPurgeAllFobxs 例程會取得 scavenger mutex、周遊 scavenger 物件上的 ClosePendingFobxsList 成員,並移除清單專案,然後釋放 mutex。 如果FOBX結構不是NULL,RxPurgeAllFobxs將會清除FOBX結構,並嘗試取得相關聯FCB結構的獨佔鎖定。 如果成功, RxPurgeAllFobxs 會嘗試取值NET_FOBX結構和取值、完成和釋放FCB結構。
在已檢查的組建上, RxPurgeAllFobxs 會導致系統針對數個條件提出 ASSERT,包括下列各項:
- RxDeviceObject 上 RxScavenger->ClosePendingFobxsList 結構的 Flink 成員為 NULL。
- Fobx->NodeTypeCode 未RDBSS_NTC_FOBX。
- 清單專案的 Flink 和 Blink 成員為 NULL。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | rxprocs.h (包含 Rxprocs.h) |
IRQL | <= APC_LEVEL |