Beispiel zum Zuordnen von Rückrufschnittstellen
Warnung
UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 für neuere Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden.
Die archivierten UMDF 1-Beispiele finden Sie im Windows 11, Version 22H2 – Mai 2022 Treiberbeispiele Update.
Weitere Informationen finden Sie unter Erste Schritte mit UMDF.
Das folgende Codebeispiel zeigt, wie ein Treiber eine Create-instance-Methode implementiert, die der Treiber zum Erstellen des Geräterückrufobjekts verwendet. Der Treiber weist den Rückrufkontext zu und ordnet den bereitgestellten IUnknown eine oder mehrere Rückrufschnittstellen zu. Das Framework kann anschließend QueryInterface verwenden, um die vom Treiber unterstützten Rückrufschnittstellen zu ermitteln.
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;
}