Funzione RxPurgeAllFobxs (rxprocs.h)

RxPurgeAllFobxs elimina tutte le strutture FOBX associate a un mini-redirector di rete.

Sintassi

void RxPurgeAllFobxs(
  PRDBSS_DEVICE_OBJECT RxDeviceObject
);

Parametri

RxDeviceObject

Puntatore all'oggetto dispositivo mini-redirector per il quale deve essere eseguita l'eliminazione.

Valore restituito

nessuno

Osservazioni

Al momento della pulizia, non sono presenti altri handle utente associati all'oggetto file. In questi casi, l'intervallo di tempo tra chiusura e pulizia è determinato dai riferimenti aggiuntivi gestiti da Gestione memoria e gestione cache. RDBSS usa un processo di scavenger in esecuzione su un thread separato per scavenge e ripulire FOBX e altre strutture non necessarie.

Un mini-redirector di rete potrebbe chiamare RxPurgeAllFobxs e RxScavengeAllFobsx in risposta a un evento di modifica dell'alimentazione PnP.

La routine RxPurgeAllFobxs acquisisce il mutex scavenger, attraversa il membro ClosePendingFobxsList nell'oggetto scavenger rimuovendo le voci dell'elenco e quindi rilascia il mutex. Se la struttura FOBX non è NULL, RxPurgeAllFobxs ripulirà la struttura FOBX e tenterà di acquisire un blocco esclusivo sulla struttura FCB associata. In caso di esito positivo, RxPurgeAllFobxs proverà a dereferenziare la struttura e la dereferenziazione NET_FOBX, finalizzare e rilasciare la struttura FCB.

Nelle build controllate , RxPurgeAllFobxs fa sì che il sistema asserisca alcune condizioni, tra cui le seguenti:

  • Il membro Flink della struttura RxScavenger->ClosePendingFobxsList in RxDeviceObject è NULL.
  • NodeTypeCode fobx-> non è RDBSS_NTC_FOBX.
  • I membri Flink e Blink per una voce di elenco sono NULL.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione rxprocs.h (include Rxprocs.h)
IRQL <= APC_LEVEL

Vedi anche

RxPurgeRelatedFobxs

RxScavengeAllFobxs

RxScavengeFobxsForNetRoot