Share via


콜백 인터페이스 연결 예제

경고

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;
}