WDF 아키텍처
WDF는 드라이버에 대한 개체 기반 인터페이스를 제공합니다. 프레임워크 정의 개체 인터페이스는 다음으로 구성됩니다.
개체 메서드
메서드는 드라이버가 개체에 대한 작업을 수행하거나 개체 속성을 가져오기 또는 설정하기 위해 호출할 수 있는 함수입니다. 메서드 이름은 WdfObjectAction입니다. 여기서 Object 는 개체를 설명하고 Action 은 함수가 수행하는 작업을 나타냅니다. 예를 들어 WdfDeviceCreate 는 디바이스 개체를 만듭니다.
개체 이벤트 콜백 함수
이벤트 콜백 함수는 드라이버가 제공하는 함수입니다. 각 이벤트 콜백 함수는 개체에서 발생할 수 있는 특정 이벤트와 연결됩니다. 프레임워크는 연결된 이벤트가 발생할 때 이벤트 콜백 함수를 호출합니다. 규칙에 따라 이벤트 콜백 함수의 자리 표시자를 EvtObjectEvent라고 하지만 드라이버에서 선택한 모든 콜백의 이름을 지정할 수 있습니다. 예를 들어 드라이버는 디바이스가 작동 상태가 되면 알림을 받을 EvtDeviceD0Entry 이벤트 콜백을 등록합니다.
개체 속성
속성은 개체 내에 저장되고 드라이버가 가져오 고 설정 (즉, 변경)할 수 있는 값입니다. 대부분의 경우 속성은 해당 WDM 개체의 필드에 직접 매핑됩니다. 실패할 수 없는 속성의 이름은 Wdf개체값 가져오기및Wdf개체집합값이며, 실패할 수 있는 속성의 이름은 WdfObjectRetrieveValue 및 WdfObjectAssignValue입니다. 개체 는 개체를 설명하고 Value 는 함수가 설정하거나 반환하는 데이터를 식별합니다. 예를 들어 WdfDeviceGetDriver 는 디바이스 개체와 연결된 드라이버 개체에 대한 핸들을 반환합니다.
개체 핸들
프레임워크 기반 드라이버는 프레임워크 개체에 직접 액세스하지 않습니다. 대신 드라이버는 개체의 메서드에 전달할 수 있는 개체 핸들을 받습니다.
프레임워크는 프레임워크 기반 드라이버에서 사용하는 여러 개체 형식을 정의합니다.
프레임워크 드라이버 개체는 각 드라이버를 나타냅니다.
프레임워크 디바이스 개체는 드라이버가 지원하는 각 디바이스를 나타냅니다.
프레임워크 큐 개체는 디바이스의 I/O 요청을 수신하는 I/O 큐를 나타냅니다.
프레임워크 요청 개체는 각 I/O 큐가 수신하는 I/O 요청을 나타냅니다.
프레임워크에서 정의하는 모든 개체 목록은 프레임워크 개체 요약을 참조하세요.