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 zu einem 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 Referenzzeichenfolge für die Geräteschnittstelle beschreibt. Die Zeichenfolge darf keine Pfadtrennzeichen ("/" oder "\") enthalten. Dieser Parameter ist optional und kann NULL-werden. 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 können, finden Sie unter Framework Object Creation Errors.
Die Methode gibt möglicherweise andere NTSTATUS-Wertezurück.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Der Treiber kann WdfDeviceCreateDeviceInterface- von EVT_WDF_DRIVER_DEVICE_ADDoder nach dem Start des Geräts aufrufen.
Wenn der Treiber diese Funktion über die 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 parameter IsInterfaceEnabled 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- entsprechend aufrufen.
Treiber können den ReferenceString Parameter verwenden, um unterschiedliche Instanzen einer einzelnen Schnittstelle zu unterscheiden. Wenn ein Treiber also WdfDeviceCreateDeviceInterface zweimal für dieselbe Geräteschnittstellenklasse aufruft, kann der Treiber jedes Mal einen anderen ReferenceString- Parameter angeben. Wenn eine Instanz einer Schnittstelle geöffnet wird, übergibt der E/A-Manager die Referenzzeichenfolge der Instanz an den Treiber. Die Referenzzeichenfolge wird an die Pfadkomponente des Namens der Schnittstelleninstanz angefügt. Der Treiber kann dann die Referenzzeichenfolge verwenden, um zu bestimmen, welche Instanz der Geräteschnittstellenklasse geöffnet wird.
Weitere Informationen zu Geräteschnittstellen und der WdfDeviceCreateDeviceInterface--Methode finden Sie unter Using Device Interfaces.
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- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfdevice.h (einschließen Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |