프레임워크 개체 계층 구조

경고

UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다.

보관된 UMDF 1 샘플은 Windows 11 버전 22H2 - 2022년 5월 드라이버 샘플 업데이트에서 찾을 수 있습니다.

자세한 내용은 UMDF를 사용하여 시작 참조하세요.

다음 그림에서는 부모-자식 프레임워크 개체 계층 구조를 보여줍니다.

umdf 부모-자식 개체 계층 구조입니다.

프레임워크 개체의 수명 scope 계층의 위치와 개체를 만드는 방법에 따라 결정됩니다. 프레임워크 개체의 수명 scope 다음 범주 중 하나로 분류됩니다.

  • 프레임워크는 개체의 생성 및 소멸을 제어합니다.

    프레임워크는 시스템 이벤트에 대한 응답으로 드라이버 개체디바이스 개체와 같은 개체를 만들고 삭제합니다. 사용자 모드 드라이버가 IWDFDriver::CreateDevice 메서드를 호출하여 디바이스 개체를 만들면 드라이버가 필요에 따라 디바이스 개체가 제거되기 전에 프레임워크에서 알림을 받도록 등록할 수 있습니다.

  • 프레임워크는 개체를 만듭니다. 그러나 드라이버는 개체가 해제되는 시기를 제어합니다.

    I/O 요청 개체는 드라이버에 I/O가 표시될 때 이 패턴을 따릅니다. 프레임워크는 요청 개체를 만들고 드라이버가 IWDFIoRequest::Complete 메서드를 호출할 때까지 요청 개체의 수명이 유효합니다.

  • 드라이버는 개체를 만들고 개체를 다른 프레임워크 개체와 연결합니다.

    일부 프레임워크 개체는 수명 관리 목적으로 개체를 연결해야 instance 부모 프레임워크 개체에 의해 노출되는 메서드에 의해 만들어집니다. IWDFDevice::CreateIoQueue 메서드가 이 패턴의 예입니다. IWDFDevice::CreateIoQueue에 대한 호출이 성공하면 새로 만든 I/O 큐가 IWDFDevice 인터페이스가 나타내는 디바이스 instance 연결됩니다. 부모 개체가 제거되면 프레임워크는 자식 인스턴스를 자동으로 정리합니다. 드라이버가 프레임워크에 적절한 콜백 함수를 등록하는 경우 드라이버에 이러한 이벤트에 대한 알림이 표시됩니다.