Freigeben über


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. 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 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::CreateRemoteInterfaceabgerufen hat.

[in, optional] pszRelativeFileName

Ein optionaler Zeiger auf einen von einem Aufrufer bereitgestellten, null-terminated-Zeichenfolge, die das Framework an den symbolischen Linknamen der Geräteschnittstelle anfüge.

[in] DesiredAccess

Eine Bitmaske, die den gewünschten Zugriff des Aufrufers auf die Datei angibt. Weitere Informationen zu diesem Member finden Sie im Parameter DesiredAccess 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-werden.

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
E_OUTOFMEMORY
Fehler beim Versuch des Frameworks, Arbeitsspeicher zuzuweisen.
 

Diese Methode gibt möglicherweise einen der anderen Werte zurück, die Winerror.h enthält.

Der Verifier des Frameworks meldet einen Fehler, wenn das Framework die Datei nicht öffnen kann.

Bemerkungen

Nachdem ein Treiber IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival Rückruffunktion benachrichtigt, 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, sodass E/A-Anforderungen an die Geräteschnittstelle gesendet werden können.

Auf die Geräteschnittstelle muss über das Konto zugegriffen werden, das den UMDF-basierten Treiber geladen hat, der in der Regel das lokale Dienstkonto ist. Wenn der Treiber jedoch Identitätswechsel verwendet, wenn er OpenRemoteInterface-aufruft, muss auf die Geräteschnittstelle über das identitätswechselnde Konto 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
Mindest-UMDF-Version 1.9
Header- wudfddi.h (include Wudfddi.h)
DLL- WUDFx.dll

Siehe auch

IWDFRemoteTarget-

IWDFRemoteTarget::OpenFileByName