필터 드라이버 특성
필터 드라이버의 특징은 다음과 같습니다.
필터 드라이버의 instance 필터 모듈이라고 합니다. 필터 모듈은 기본 미니포트 어댑터에 연결됩니다. 동일한 필터 드라이버 또는 다른 필터 드라이버의 여러 필터 모듈을 어댑터 위에 쌓을 수 있습니다.
이러한 드라이버와 기본 미니포트 드라이버 간에 필터 모듈이 설치되어 있는 경우 대체 기능을 제공할 필요가 없습니다(그렇지 않으면 필터 모듈이 프로토콜 드라이버에 투명하게 표시됨).
필터 드라이버는 중간 드라이버와 같은 가상 미니포트를 구현하지 않으므로 필터 드라이버는 디바이스 개체와 연결되지 않습니다. 오버리싱 필터 모듈이 있는 미니포트 어댑터는 미니포트 어댑터의 수정된 버전으로 작동합니다. 드라이버 스택에 대한 자세한 내용은 NDIS 6.0 드라이버 스택을 참조하세요.
NDIS는 구성 정보를 사용하여 필터 모듈을 올바른 드라이버 스택 순서로 어댑터에 연결합니다. 필터 모듈의 드라이버 스택 순서에 대한 자세한 내용은 필터 드라이버에 대한 INF 파일 설정을 참조하세요.
NDIS는 드라이버 스택에서 필터 모듈을 동적으로 삽입하거나 삭제하거나 전체 스택을 제거하지 않고 필터 모듈을 다시 구성할 수 있습니다. 자세한 내용은 실행 중인 드라이버 스택 수정을 참조하세요.
프로토콜 드라이버는 NDIS가 드라이버 스택을 다시 시작할 때 드라이버 스택에서 필터 모듈 목록을 가져올 수 있습니다.
필터 모듈 목록에 대한 자세한 내용은 NDIS_PROTOCOL_RESTART_PARAMETERS 참조하세요.
필터 드라이버는 기본 미니포트 어댑터와 대부분의 통신을 필터링할 수 있습니다. 필터 모듈은 오버리싱 프로토콜 드라이버와 미니포트 어댑터 간의 특정 바인딩과 연결되지 않습니다. 필터 드라이버가 제공할 수 있는 필터링 서비스 유형에 대한 자세한 내용은 필터 드라이버 서비스를 참조하세요.
필터 드라이버는 필터링된 서비스를 선택할 수 있으며 필터링되지 않은 서비스에 대해 바이패스할 수 있습니다. 무시되는 서비스 및 필터링된 서비스를 동적으로 다시 구성할 수 있습니다. 자세한 내용은 데이터 바이패스 모드를 참조하세요.
NDIS는 필터 드라이버에 대한 컨텍스트 공간( NET_BUFFER_LIST_CONTEXT 구조 참조)의 가용성을 보장합니다. 따라서 필터 드라이버는 컨텍스트 공간을 얻기 위해 버퍼를 복사하는 코드를 포함할 필요가 없습니다. 버퍼를 관리하는 방법에 대한 자세한 내용은 필터 드라이버 버퍼 관리를 참조하세요.