프레임워크 개체 소개

WDF(Windows 드라이버 프레임워크)가 드라이버에 제공하는 인터페이스는 개체 기반입니다. 프레임워크는 여러 개체를 정의합니다. 이러한 개체는 드라이버가 액세스할 수 있는 메서드 (함수) 및 속성 (데이터)을 내보냅니다. 프레임워크 개체는 또한 이벤트 콜백 함수를 제공하여 드라이버가 지원할 수 있는 이벤트를 시작합니다.

프레임워크 기반 드라이버는 프레임워크 개체에 직접 액세스하지 않습니다. 대신 드라이버는 핸들을 통해 개체 참조하며, 드라이버가 개체 메서드에 대한 입력으로 전달합니다.

모든 프레임워크 개체에는 다음과 같은 특성이 있습니다.

참조 수
프레임워크는 각 개체에 대한 참조 수의 수를 유지 관리합니다. 프레임워크는 개체를 만들 때 개체의 참조 수를 1로 설정합니다. 프레임워크가 개체 사용을 마치면 참조 수가 감소합니다. 프레임워크는 참조 수가 0으로 감소할 때까지 개체를 삭제할 수 없으므로 드라이버는 참조 횟수를 증가시켜 개체 삭제를 방지할 수 있습니다.

컨텍스트 공간
프레임워크 기반 드라이버는 드라이버가 수신하거나 만드는 모든 프레임워크 개체에 대한 개체별 컨텍스트 공간을 만들 수 있습니다. 드라이버는 개체의 컨텍스트 공간에 모든 개체별 데이터를 저장해야 합니다. 컨텍스트 공간에 대한 자세한 내용은 Framework 개체 컨텍스트 공간을 참조하세요.

삭제 콜백 함수
드라이버는 프레임워크가 개체를 삭제할 때 호출하는 콜백 함수를 등록할 수 있습니다. 콜백 함수는 개체별 메모리 할당과 같은 드라이버 할당 리소스를 제거할 수 있습니다. 이러한 콜백 함수에 대한 자세한 내용은 Framework 개체 수명 주기를 참조하세요.

부모 개체
모든 프레임워크 개체에는 부모 개체가 있을 수 있습니다. 프레임워크는 대부분의 개체에 대한 기본 부모 개체를 지정합니다. 드라이버는 개체를 만들 때 개체의 기본 부모 개체를 재정의하는 부모 개체를 지정할 수 있습니다. 개체의 부모 개체를 지정하기 위해 드라이버는 개체의 WDF_OBJECT_ATTRIBUTES 구조체의 ParentObject 멤버를 설정합니다. (일부 개체 형식의 경우 드라이버는 기본 부모 개체를 재정의할 수 없습니다.) 프레임워크 또는 드라이버가 부모 개체를 삭제하면 프레임워크는 부모 개체의 자식도 삭제합니다.

WDF에서 정의한 모든 개체에 대한 개요는 프레임워크 개체 요약을 참조하세요.