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를 수행합니다.
- RxDeviceObjectRxScavenger->ClosePendingFobxsList 구조체의 Flink 멤버는 NULL .
- Fobx->NodeTypeCode RDBSS_NTC_FOBX 않습니다.
- 목록 항목에 대한 Flink 및 Blink 멤버는 NULL .
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | rxprocs.h(Rxprocs.h 포함) |
IRQL | <= APC_LEVEL |