IWDFRemoteTarget::OpenRemoteInterface-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 für neuere 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 OpenRemoteInterface-Methode öffnet eine Geräteschnittstelle , sodass der Treiber E/A-Anforderungen an sie senden kann.
Syntax
HRESULT OpenRemoteInterface(
[in] IWDFRemoteInterface *pRemoteInterface,
[in, optional] PCWSTR pszRelativeFileName,
[in] DWORD DesiredAccess,
[in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);
Parameter
[in] pRemoteInterface
Ein Zeiger auf eine IWDFRemoteInterface-Schnittstelle , die der Treiber aus einem vorherigen Aufruf von IWDFDevice2::CreateRemoteInterface abgerufen hat.
[in, optional] pszRelativeFileName
Ein optionaler Zeiger auf eine vom Aufrufer bereitgestellte, NULL-beendete Zeichenfolge, die das Framework an den symbolischen Linknamen der Geräteschnittstelle anhängt.
[in] DesiredAccess
Eine Bitmaske, die den gewünschten Zugriff des Aufrufers auf die Datei angibt. Weitere Informationen zu diesem Member finden Sie im DesiredAccess-Parameter von CreateFile im Windows SDK.
[in, optional] pOpenParams
Ein Zeiger auf eine vom Aufrufer zugewiesene UMDF_IO_TARGET_OPEN_PARAMS Struktur, die zusätzliche Parameter enthält. Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
OpenRemoteInterface 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.
Die Überprüfung des Frameworks meldet einen Fehler, wenn das Framework die Datei nicht öffnen kann.
Hinweise
Nachdem die IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival-Rückruffunktion eines Treibers eine Benachrichtigung erhält, dass eine Geräteschnittstelle verfügbar ist, und nachdem der Treiber IWDFDevice2::CreateRemoteInterface aufgerufen hat, um ein Remoteschnittstellenobjekt zu erstellen, kann der Treiber OpenRemoteInterface aufrufen, damit er E/A-Anforderungen an die Geräteschnittstelle senden kann.
Auf die Geräteschnittstelle muss das Konto zugreifen können, das den UMDF-basierten Treiber geladen hat, wobei es sich in der Regel um das lokale Dienstkonto handelt. Wenn der Treiber jedoch den Identitätswechsel verwendet, wenn er OpenRemoteInterface aufruft, muss für das identitätswechselte Konto auf die Geräteschnittstelle zugegriffen werden.
Weitere Informationen zu OpenRemoteInterface und zur Verwendung von Geräteschnittstellen in UMDF-basierten Treibern finden Sie unter Verwenden von Geräteschnittstellen in UMDF-basierten Treibern.
Beispiele
Das folgende Codebeispiel zeigt, wie eine IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival-Rückruffunktion eine Remoteschnittstelle und Remotezielobjekte für eine Geräteschnittstelle erstellen und dann die Schnittstelle für E/A-Vorgänge öffnen kann.
void
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
__in IWDFRemoteInterfaceInitialize * FxRemoteInterfaceInit
)
...
HRESULT hr;
CComPtr<IWDFRemoteInterface> fxRemoteInterface;
CComPtr<IWDFRemoteTarget> m_FxTarget;
hr = m_FxDevice->CreateRemoteInterface(FxRemoteInterfaceInit,
NULL,
&fxRemoteInterface);
if (FAILED(hr)) goto Error;
hr = FxDevice->CreateRemoteTarget(unknown,
fxRemoteInterface,
&m_FxTarget);
if (FAILED(hr)) goto Error;
hr = m_FxTarget->OpenRemoteInterface(fxRemoteInterface,
NULL,
GENERIC_READ | GENERIC_WRITE,
NULL);
...
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 |