共用方式為


IWDFRemoteTarget::OpenRemoteInterface 方法 (wudfddi.h)

[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,且較新版本的 #D67E298A5439D430183C62B26A1499636 上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]

OpenRemoteInterface 方法會開啟裝置介面,讓驅動程式可以傳送 I/O 要求給它。

語法

HRESULT OpenRemoteInterface(
  [in]           IWDFRemoteInterface         *pRemoteInterface,
  [in, optional] PCWSTR                      pszRelativeFileName,
  [in]           DWORD                       DesiredAccess,
  [in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);

參數

[in] pRemoteInterface

驅動程式從先前呼叫 IWDFDevice2::CreateRemoteInterface 取得的 IWDFRemoteInterface 介面指標。

[in, optional] pszRelativeFileName

架構附加至裝置介面符號連結名稱的呼叫端提供的 Null 終止字元串選擇性指標。

[in] DesiredAccess

位掩碼,指定呼叫端對檔案的所需存取權。 如需此成員的詳細資訊,請參閱 Windows SDK 中的 CreateFileDesiredAccess 參數。

[in, optional] pOpenParams

呼叫端配置的 UMDF_IO_TARGET_OPEN_PARAMS 結構的指標,其中包含其他參數。 這個參數是選擇性的,而且可以是 NULL

傳回值

如果作業成功,OpenRemoteInterface 會傳回S_OK。 否則,方法可能會傳回下列值:

傳回碼 Description
E_OUTOFMEMORY
架構嘗試配置記憶體失敗。
 

這個方法可能會傳回 Winerror.h 包含的其他其中一個值。

如果架構無法開啟檔案,架構的 驗證程式 就會回報錯誤。

備註

在驅動程式的 IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival 回呼函式收到裝置介面可供使用的通知,並在驅動程式呼叫 IWDFDevice2::CreateRemoteInterface 以建立遠端介面對象之後,驅動程式可以呼叫 OpenRemoteInterface ,以便將 I/O 要求傳送至裝置介面。

載入 UMDF 型驅動程式的帳戶必須能夠存取裝置介面,通常是本機服務帳戶。 不過,如果驅動程式在呼叫 OpenRemoteInterface 時使用模擬,則必須由仿真的帳戶存取裝置介面。

如需 OpenRemoteInterface 以及如何在 UMDF 型驅動程式中使用裝置介面的詳細資訊,請參閱 在 UMDF 型驅動程式中使用裝置介面

範例

下列程式代碼範例示範 IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival 回呼函式如何為裝置介面建立遠端介面和遠端目標對象,然後開啟 I/O 作業的介面。

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

規格需求

需求
終止支援 在 UMDF 2.0 和更新版本中無法使用。
目標平台 桌面
最低UMDF版本 1.9
標頭 wudfddi.h (包含 Wudfddi.h)
Dll WUDFx.dll

另請參閱

IWDFRemoteTarget

IWDFRemoteTarget::OpenFileByName