Freigeben über


IDriverEntry::OnDeviceAdd-Methode (wudfddi.h)

[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF-.]

Die OnDeviceAdd Methode fügt einem System ein neues Gerät hinzu.

Syntax

HRESULT OnDeviceAdd(
  [in] IWDFDriver           *pWdfDriver,
  [in] IWDFDeviceInitialize *pWdfDeviceInit
);

Parameter

[in] pWdfDriver

Ein Zeiger auf die IWDFDriver Schnittstelle für das übergeordnete Treiberobjekt, zu dem das neue Gerät gehört.

[in] pWdfDeviceInit

Ein Zeiger auf die IWDFDeviceInitialize Schnittstelle, die der Treiber zum Initialisieren des neu erstellten Geräts verwendet.

Rückgabewert

OnDeviceAdd gibt S_OK zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode einen der Fehlercodes zurück, die in Winerror.h definiert sind. Der Treiber sollte S_OK nur zurückgeben, wenn er die IWDFDriver::CreateDevice Methode erfolgreich aufgerufen hat, um das Framework-Geräteobjektzu erstellen. Wenn der Treiber einen Fehlercode zurückgibt, reißt UMDF den gesamten Gerätestapel ab, unabhängig davon, ob es sich bei dem Treiber um einen Filtertreiber oder einen Funktionstreiber handelt.

Bemerkungen

Für jedes Gerät, das im Treiberhostprozess geladen wird, wird ein neues Geräteobjekt erstellt. Wenn ein neues Gerät im System eintrifft, ruft das Framework OnDeviceAdd auf, um den Treiber über die Ankunft zu benachrichtigen und die IWDFDriver- und IWDFDeviceInitialize Schnittstellen im Aufruf zu übergeben. Der Treiber kann die IWDFDeviceInitialize::RetrieveDevicePropertyStore Methode aufrufen, um die Geräteinformationen abzufragen, die als Teil der Geräteinstallation bereitgestellt werden. Der Treiber muss die IWDFDriver::CreateDevice Methode aufrufen, um das Gerät zu konfigurieren und zu erstellen. Wenn der Treiber IWDFDriver::CreateDevice nicht erfolgreich aufruft, bevor er S_OK zurückgibt, bestimmt UMDF, dass das Verhalten des Treibers falsch ist und den Hostprozess beendet.

Jeder Treiber, dessen OnDeviceAdd--Methode zurückgibt, S_OK empfängt anschließend einen Aufruf des IPnpCallbackHardware::OnReleaseHardware Methode, wenn die UMDF den Gerätestapel abreißt.

Verwenden Sie nicht die IWDFDeviceInitialize Schnittstelle, auf die der pWdfDeviceInit Parameter verweist, nachdem der Treiber IWDFDriver::CreateDeviceaufgerufen hat.

Weitere Informationen finden Sie unter Hinzufügen eines Geräte-.

Anforderungen

Anforderung Wert
Zielplattform- Fenster
Header- wudfddi.h (include Wudfddi.h)

Siehe auch

IDriverEntry-

IPnpCallbackHardware::OnReleaseHardware

IWDFDeviceInitialize

IWDFDeviceInitialize::RetrieveDevicePropertyStore

IWDFDriver-

IWDFDriver::CreateDevice