WdfDeviceCreateDeviceInterface-Funktion (wdfdevice.h)
[Gilt für KMDF und UMDF]
Die WdfDeviceCreateDeviceInterface-Methode erstellt eine Geräteschnittstelle für ein angegebenes Gerät.
Syntax
NTSTATUS WdfDeviceCreateDeviceInterface(
[in] WDFDEVICE Device,
[in] const GUID *InterfaceClassGUID,
[in, optional] PCUNICODE_STRING ReferenceString
);
Parameter
[in] Device
Ein Handle für ein Framework-Geräteobjekt.
[in] InterfaceClassGUID
Ein Zeiger auf eine GUID, die die Geräteschnittstellenklasse identifiziert.
[in, optional] ReferenceString
Ein Zeiger auf eine UNICODE_STRING-Struktur , die eine Verweiszeichenfolge für die Geräteschnittstelle beschreibt. Die Zeichenfolge darf keine Pfadtrennzeichen ("/" oder "\") enthalten. Dieser Parameter ist optional und kann NULL sein. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Rückgabewert
WdfDeviceCreateDeviceInterface gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist.
Eine Liste mit anderen Rückgabewerten, die WdfDeviceCreateDeviceInterface zurückgeben kann, finden Sie unter Fehler beim Erstellen von Frameworkobjekten.
Die -Methode gibt möglicherweise andere NTSTATUS-Werte zurück.
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Der Treiber kann WdfDeviceCreateDeviceInterface von EVT_WDF_DRIVER_DEVICE_ADD oder nach dem Starten des Geräts aufrufen.
Wenn der Treiber diese Funktion über seine EVT_WDF_DRIVER_DEVICE_ADD Rückruffunktion aufruft, wird die Schnittstelle automatisch aktiviert, wenn das Gerät gestartet und deaktiviert wird, wenn das Gerät beendet wird. Um die automatische Aktivierung zu verhindern, kann der Treiber WdfDeviceSetDeviceInterfaceStateEx aufrufen, wobei der IsInterfaceEnabled-Parameter auf FALSE festgelegt ist.
Wenn der Treiber diese Funktion aufruft, nachdem das Gerät bereits gestartet wurde, bleibt die Schnittstelle deaktiviert. Der Treiber kann WdfDeviceSetDeviceInterfaceState nach Bedarf aufrufen.
Treiber können den ReferenceString-Parameter verwenden, um verschiedene Instanzen einer einzelnen Schnittstelle zu unterscheiden. Anders ausgedrückt: Wenn ein Treiber WdfDeviceCreateDeviceInterface zweimal für dieselbe Geräteschnittstellenklasse aufruft, kann der Treiber jedes Mal einen anderen ReferenceString-Parameter angeben. Wenn ein instance einer Schnittstelle geöffnet wird, übergibt der E/A-Manager die Verweiszeichenfolge des instance an den Treiber. Die Verweiszeichenfolge wird an die Pfadkomponente des Schnittstellennamens instance angefügt. Der Treiber kann dann mithilfe der Verweiszeichenfolge bestimmen, welche instance der Geräteschnittstellenklasse geöffnet wird.
Weitere Informationen zu Geräteschnittstellen und der WdfDeviceCreateDeviceInterface-Methode finden Sie unter Verwenden von Geräteschnittstellen.
Beispiele
Im folgenden Beispiel wird die COM-Portschnittstellenklasse für ein Gerät registriert.
NTSTATUS status;
status = WdfDeviceCreateDeviceInterface(
Device,
(LPGUID) &GUID_DEVINTERFACE_COMPORT,
NULL
);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |