Freigeben über


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)

Weitere Informationen

UNICODE_STRING

WdfDeviceSetDeviceInterfaceState