Exempel på att skapa återuppringningsobjekt

Varning

UMDF 2 är den senaste versionen av UMDF och ersätter UMDF 1. Alla nya UMDF-drivrutiner ska skrivas med UMDF 2. Inga nya funktioner läggs till i UMDF 1 och det finns begränsat stöd för UMDF 1 på nyare versioner av Windows 10. Universella Windows-drivrutiner måste använda UMDF 2.

De arkiverade UMDF 1-exemplen finns i Windows 11 version 22H2 – maj 2022 Uppdatering av drivrutinsexempel.

Mer information finns i Komma igång med UMDF.

Följande kodexempel visar hur en drivrutin skapar ett återanropsobjekt för enheten i implementeringen av dess IDriverEntry::OnDeviceAdd-metod och sedan skickar en pekare till enhetens återanropsgränssnitt när den anropar metoden IWDFDriver::CreateDevice för att skapa enheten.

   HRESULT CMyDriver::OnDeviceAdd(
              IWDFDriver*           pDriver,
              IWDFDeviceInitialize* pDeviceInit
              ) {
      IUnknown *pDeviceCallback = NULL;
      ...
      HRESULT hr;
      // Create callback object
      hr = CMyDevice::CreateInstance( &pDeviceCallback,
                                      pDeviceInit,
                                      completionPort );
      ...
      // Create WDF device
      hr = pDriver->CreateDevice( pDeviceInit, 
                                  pDeviceCallback,
                                  &pIWDFDevice );
      ...
   }