IWDFDevice2::CreateRemoteInterface-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. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]
Die CreateRemoteInterface-Methode erstellt ein Remoteschnittstellenobjekt, das eine Geräteschnittstelle darstellt.
Syntax
HRESULT CreateRemoteInterface(
[in] IWDFRemoteInterfaceInitialize *pRemoteInterfaceInit,
[in, optional] IUnknown *pCallbackInterface,
[out] IWDFRemoteInterface **ppRemoteInterface
);
Parameter
[in] pRemoteInterfaceInit
Ein Zeiger auf eine IWDFRemoteInterfaceInitialize-Schnittstelle , die die Rückruffunktion IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival des Treibers empfangen hat.
[in, optional] pCallbackInterface
Ein Zeiger auf eine optionale, vom Treiber bereitgestellte Rückrufschnittstelle. Die IUnknown::QueryInterface-Methode dieser Schnittstelle muss einen Zeiger auf die Schnittstellen IRemoteInterfaceCallbackEvent und IRemoteInterfaceCallbackRemoval des Treibers zurückgeben, wenn der Treiber diese Schnittstellen unterstützt. Dieser Parameter ist optional und kann NULL sein.
[out] ppRemoteInterface
Ein Zeiger auf einen vom Treiber bereitgestellten Speicherort, der einen Zeiger auf die IWDFRemoteInterface-Schnittstelle des neuen Remoteschnittstellenobjekts empfängt.
Rückgabewert
CreateRemoteInterface gibt S_OK zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die -Methode möglicherweise den folgenden Wert zurück:
Rückgabecode | Beschreibung |
---|---|
|
Fehler beim Versuch des Frameworks, Arbeitsspeicher zuzuweisen. |
Diese Methode gibt möglicherweise einen der anderen Werte zurück, die Winerror.h enthält.
Hinweise
Wenn Ihr Treiber CreateRemoteInterface aufruft, muss er dies innerhalb seiner IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival-Rückruffunktion tun.
Weitere Informationen zu CreateRemoteInterface und zum Verwenden von Geräteschnittstellen finden Sie unter Verwenden von Geräteschnittstellen in UMDF-basierten Treibern.
Beispiele
Das folgende Codebeispiel zeigt eine IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival-Rückruffunktion , die ein Remoteschnittstellenobjekt erstellt, ein Remotezielobjekt erstellt und das Remoteziel für E/A-Vorgänge öffnet.
void
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
__in IWDFRemoteInterfaceInitialize * FxRemoteInterfaceInit
)
{
HRESULT hr = S_OK;
//
// Create a new remote interface object and provide a callback
// object to handle remote interface events.
//
CComPtr<IWDFRemoteInterface> fxRemoteInterface;
hr = m_FxDevice->CreateRemoteInterface(FxRemoteInterfaceInit,
MyRemoteInterfaceIUnknown,
&fxRemoteInterface);
if (FAILED(hr)) goto Error;
//
// Create a new remote target object and provide a callback
// object to handle remote target events.
//
CComPtr<IWDFRemoteTarget> fxTarget;
hr = m_FxDevice->CreateRemoteTarget(MyRemoteTargetIUnknown,
fxRemoteInterface,
&fxTarget);
if (FAILED(hr)) goto Error;
//
// Open the remote interface with read/write access.
//
hr = FxTarget->OpenRemoteInterface(fxRemoteInterface,
NULL,
GENERIC_READ | GENERIC_WRITE,
NULL);
if (FAILED(hr)) goto Error;
...
}
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform | Desktop |
UMDF-Mindestversion | 1.9 |
Kopfzeile | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |