다른 드라이버 스택에서 구성 정보 가져오기

드라이버가 드라이버가 있는 스택이 아닌 스택에 있는 디바이스의 구성 공간에서 정보를 가져와야 하는 경우가 있습니다. instance 경우 PCI-PCI 브리지의 구성 공간에 비트를 설정하려고 하며 브리지의 PDO에 대한 포인터가 없다고 가정합니다. 운영 체제는 PCI-PCI 브리지를 열거하고 시스템의 모든 브리지에 대한 PDO를 만들지만 이러한 디바이스에 대한 디바이스 인터페이스를 등록하지는 않습니다. 따라서 디바이스 인터페이스 메커니즘을 사용하여 이러한 브리지의 구성 공간에 액세스할 수 없습니다. 디바이스 인터페이스에 대한 자세한 내용은 디바이스 인터페이스 소개를 참조하세요.

드라이버가 다른 드라이버 스택에 속하는 하드웨어에 액세스하는 한 가지 방법은 필터 드라이버를 작성하는 것입니다. 브리지 하드웨어에 액세스하려면 instance 브리지의 구성 공간에서 필요한 작업을 구현하는 필터 드라이버를 디자인할 수 있습니다. 또한 브리지 하드웨어의 가능한 하드웨어 ID를 지정하는 INF 파일을 제공해야 하므로 PnP 관리자는 브리지의 디바이스 ID를 감지할 때 필터 드라이버를 브리지의 드라이버 스택에 로드할 수 있습니다.

또는 디바이스의 공동 설치 관리자에서 SetupDiXxx 함수를 사용하여 프로그래밍 방식으로 필터를 설치할 수 있습니다.

필터 드라이버는 BUS_INTERFACE_STANDARD 인터페이스를 사용하여 브리지에 액세스할 수 있습니다.