IWDFDevice::CreateDeviceInterface-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 CreateDeviceInterface--Methode erstellt eine Instanz einer Geräteschnittstellenklasse.
Syntax
HRESULT CreateDeviceInterface(
[in] LPCGUID pDeviceInterfaceGuid,
[in, optional] PCWSTR pReferenceString
);
Parameter
[in] pDeviceInterfaceGuid
Ein Zeiger auf die GUID für eine Geräteschnittstellenklasse.
[in, optional] pReferenceString
Ein Zeiger auf eine NULL--terminated-Zeichenfolge, die den Namen der Instanz der Geräteschnittstelle enthält. Dieser Parameter ist optional. Der Treiber kann NULL- übergeben, wenn der Treiber keinen Namen angeben muss. Wenn der Treiber einen Namen angeben muss, darf die vom Treiber übergebene Zeichenfolge keine Pfadtrennzeichen ("/" oder "\") enthalten.
Rückgabewert
CreateDeviceInterface- 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.
Bemerkungen
Treiber können den pReferenceString Parameter verwenden, um verschiedene Instanzen einer einzelnen Schnittstelle zu unterscheiden. Mit anderen Worten: Wenn ein Treiber CreateDeviceInterface zweimal für dieselbe Geräteschnittstellenklasse aufruft, kann der Treiber jedes Mal eine andere Zeichenfolge für pReferenceString- angeben. Wenn eine Instanz einer Schnittstelle geöffnet wird, übergibt das Framework 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.
Wenn CreateDeviceInterface erfolgreich ist, ist der Anfangszustand der Schnittstelle deaktiviert. Wenn die Erstellung erfolgreich ist, aktiviert und deaktiviert das Framework die Schnittstelle automatisch basierend auf dem PnP-Zustand des Geräts. Darüber hinaus kann ein Treiber eine Geräteschnittstelle nach Bedarf deaktivieren und erneut aktivieren, indem IWDFDevice::AssignDeviceInterfaceStateaufgerufen wird.
Weitere Informationen zu Geräteschnittstellen finden Sie unter Verwenden von Geräteschnittstellen in UMDF-basierten Treibern.
Beispiele
Das folgende Codebeispiel zeigt, wie eine Geräteschnittstelleninstanz erstellt wird. In diesem Beispiel ruft der Treiber explizit IWDFDevice::AssignDeviceInterfaceState auf, um die Schnittstelle zu aktivieren.
//
// Create the device interface.
//
HRESULT hr;
if (S_OK == hr) {
hr = m_FxDevice->CreateDeviceInterface(
&GUID_DEVINTERFACE_OSRUSBFX2,
NULL);
}
if (S_OK == hr) {
hr = m_FxDevice->AssignDeviceInterfaceState(
&GUID_DEVINTERFACE_OSRUSBFX2,
NULL,
TRUE);
}
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform- | Desktop |
Mindest-UMDF-Version | 1.5 |
Header- | wudfddi.h (include Wudfddi.h) |
DLL- | WUDFx.dll |