다음을 통해 공유


WDF 아키텍처

WDF는 드라이버에 대한 개체 기반 인터페이스를 제공합니다. 프레임워크 정의 개체 인터페이스는 다음으로 구성됩니다.

개체 메서드
메서드는 드라이버가 개체에 대한 작업을 수행하거나 개체 속성을 가져오기 또는 설정하기 위해 호출할 수 있는 함수입니다. 메서드 이름은 WdfObjectAction입니다. 여기서 Object 는 개체를 설명하고 Action 은 함수가 수행하는 작업을 나타냅니다. 예를 들어 WdfDeviceCreate 는 디바이스 개체를 만듭니다.

개체 이벤트 콜백 함수
이벤트 콜백 함수는 드라이버가 제공하는 함수입니다. 각 이벤트 콜백 함수는 개체에서 발생할 수 있는 특정 이벤트와 연결됩니다. 프레임워크는 연결된 이벤트가 발생할 때 이벤트 콜백 함수를 호출합니다. 규칙에 따라 이벤트 콜백 함수의 자리 표시자를 EvtObjectEvent라고 하지만 드라이버에서 선택한 모든 콜백의 이름을 지정할 수 있습니다. 예를 들어 드라이버는 디바이스가 작동 상태가 되면 알림을 받을 EvtDeviceD0Entry 이벤트 콜백을 등록합니다.

개체 속성
속성은 개체 내에 저장되고 드라이버가 가져오설정 (즉, 변경)할 수 있는 값입니다. 대부분의 경우 속성은 해당 WDM 개체의 필드에 직접 매핑됩니다. 실패할 수 없는 속성의 이름은 Wdf개체값 가져오기Wdf개체집합이며, 실패할 수 있는 속성의 이름은 WdfObjectRetrieveValueWdfObjectAssignValue입니다. 개체 는 개체를 설명하고 Value 는 함수가 설정하거나 반환하는 데이터를 식별합니다. 예를 들어 WdfDeviceGetDriver 는 디바이스 개체와 연결된 드라이버 개체에 대한 핸들을 반환합니다.

개체 핸들
프레임워크 기반 드라이버는 프레임워크 개체에 직접 액세스하지 않습니다. 대신 드라이버는 개체의 메서드에 전달할 수 있는 개체 핸들을 받습니다.

프레임워크는 프레임워크 기반 드라이버에서 사용하는 여러 개체 형식을 정의합니다.

  • 프레임워크 드라이버 개체는 각 드라이버를 나타냅니다.

  • 프레임워크 디바이스 개체는 드라이버가 지원하는 각 디바이스를 나타냅니다.

  • 프레임워크 큐 개체는 디바이스의 I/O 요청을 수신하는 I/O 큐를 나타냅니다.

  • 프레임워크 요청 개체는 각 I/O 큐가 수신하는 I/O 요청을 나타냅니다.

프레임워크에서 정의하는 모든 개체 목록은 프레임워크 개체 요약을 참조하세요.