콜백 인터페이스 연결 예제
경고
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를 사용하여 시작 참조하세요.
다음 코드 예제에서는 드라이버가 디바이스 콜백 개체를 만드는 데 사용하는 instance 만들기 메서드를 구현하는 방법을 보여 줍니다. 드라이버는 콜백 컨텍스트를 할당하고 제공된 IUnknown 을 하나 이상의 콜백 인터페이스와 연결합니다. 프레임워크는 이후에 QueryInterface 를 사용하여 드라이버에서 지원하는 콜백 인터페이스를 검색할 수 있습니다.
static HRESULT CreateInstance(
IUnknown **ppUnknown,
IWDFDeviceInitialize *pDeviceInit,
HANDLE CompletionPort
) {
...
// Allocate the callback context
CMyDevice *pMyDevice = new CMyDevice();
...
HRESULT hr;
// Discover the callback interface
hr = pMyDevice->QueryInterface(
__uuidof(IUnknown),
(void **) ppUnknown
);
...
return hr;
}