EVT_WDF_DRIVER_DEVICE_ADD Rückruffunktion (wdfdriver.h)

[Gilt für KMDF und UMDF]

Die EvtDriverDeviceAdd-Ereignisrückruffunktion eines Treibers führt Geräteinitialisierungsvorgänge aus, wenn der PnP-Manager (Plug & Play) das Vorhandensein eines Geräts meldet.

Syntax

EVT_WDF_DRIVER_DEVICE_ADD EvtWdfDriverDeviceAdd;

NTSTATUS EvtWdfDriverDeviceAdd(
  [in]      WDFDRIVER Driver,
  [in, out] PWDFDEVICE_INIT DeviceInit
)
{...}

Parameter

[in] Driver

Ein Handle für ein Frameworktreiberobjekt, das den Treiber darstellt.

[in, out] DeviceInit

Ein Zeiger auf eine vom Framework zugewiesene WDFDEVICE_INIT-Struktur .

Rückgabewert

DieRückruffunktion EvtDriverDeviceAdd muss STATUS_SUCCESS zurückgeben, wenn der Vorgang erfolgreich ist. Andernfalls muss diese Rückruffunktion einen der Fehlerwerte status zurückgeben, die in Ntstatus.h definiert sind. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Hinweise

Jeder frameworkbasierte Treiber, der PnP-Geräte unterstützt, muss die Rückruffunktion EvtDriverDeviceAdd bereitstellen. Der Treiber muss die Adresse der Rückruffunktion in der WDF_DRIVER_CONFIG-Struktur platzieren, bevor WdfDriverCreate aufgerufen wird.

Das Framework ruft die EvtDriverDeviceAdd-Rückruffunktion Ihres Treibers auf, nachdem ein Bustreiber ein Gerät mit einem Hardwarebezeichner (ID) erkannt hat, das mit einer Hardware-ID übereinstimmt, die vom Treiber unterstützt wird. Sie geben die Hardware-IDs an, die Ihr Treiber unterstützt, indem Sie eine INF-Datei bereitstellen, die das Betriebssystem verwendet, um Treiber zu installieren, wenn eines Ihrer Geräte zum ersten Mal mit dem Computer verbunden ist. Weitere Informationen dazu, wie das System INF-Dateien und Hardware-IDs verwendet, finden Sie unter So wählt Setup Treiber aus.

Die Rückruffunktion EvtDriverDeviceAdd eines Treibers führt in der Regel mindestens einige der folgenden Initialisierungsvorgänge aus:

Einige Treiber, insbesondere Filtertreiber, erstellen möglicherweise keine Geräteobjekte für einige Geräte. Wenn eine EvtDriverDeviceAdd-Rückruffunktion kein Geräteobjekt erstellt, muss sie weiterhin STATUS_SUCCESS zurückgeben, es sei denn, es ist ein Fehler aufgetreten.

Wenn die EvtDriverDeviceAdd-Rückruffunktion eines Treibers ein Geräteobjekt erstellt, aber nicht STATUS_SUCCESS zurückgibt, löscht das Framework das Geräteobjekt und seine untergeordneten Geräte.

Wenn die Rückruffunktion EvtDriverDeviceAdd eines Funktionstreibers nicht STATUS_SUCCESS zurückgibt, erstellt der E/A-Manager keinen Gerätestapel für das Gerät.

Wenn die EvtDriverDeviceAdd-Rückruffunktion eines Filtertreibers nicht STATUS_SUCCESS zurückgibt, konvertiert das Framework den Rückgabewert in STATUS_SUCCESS, und der E/A-Manager erstellt den Gerätestapel ohne den Filtertreiber.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfdriver.h (einschließen von Wdf.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

WDFDEVICE_INIT

WDF_DRIVER_CONFIG

WdfDriverCreate