RxPurgeAllFobxs 함수(rxprocs.h)
RxPurgeAllFobxs는 네트워크 미니 리렉터와 연결된 모든 FOBX 구조를 제거합니다.
구문
void RxPurgeAllFobxs(
PRDBSS_DEVICE_OBJECT RxDeviceObject
);
매개 변수
RxDeviceObject
제거를 수행해야 하는 미니 리렉터 디바이스 개체에 대한 포인터입니다.
반환 값
없음
설명
정리 시 파일 개체와 연결된 사용자 핸들이 더 이상 없습니다. 이러한 경우 닫기와 정리 사이의 시간 창은 메모리 관리자와 캐시 관리자가 유지 관리하는 추가 참조에 의해 결정됩니다. RDBSS는 별도의 스레드에서 실행되는 청소기 프로세스를 사용하여 불필요한 FOBX 및 기타 구조를 청소하고 제거합니다.
네트워크 미니 리디렉션기는 PnP 전원 변경 이벤트에 대한 응답으로 RxPurgeAllFobxs 및 RxScavengeAllFobsx 를 호출할 수 있습니다.
RxPurgeAllFobxs 루틴은 scavenger 뮤텍스를 획득하고 목록 항목을 제거하는 scavenger 개체의 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입니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | rxprocs.h(Rxprocs.h 포함) |
IRQL | <= APC_LEVEL |