IWDFRemoteTarget::OpenRemoteInterface 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 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
IWDFRemoteInterface 介面的指標,驅動程式是從先前 呼叫 IWDFDevice2::CreateRemoteInterface取得的。
[in, optional] pszRelativeFileName
提供呼叫端的選擇性指標,null終止字串,架構附加至裝置介面的符號連結名稱。
[in] DesiredAccess
指定呼叫端所需存取檔案的位掩碼。 如需此成員的詳細資訊,請參閱 Windows SDK 中 CreateFile 的 DesiredAccess 參數。
[in, optional] pOpenParams
呼叫端配置的 UMDF_IO_TARGET_OPEN_PARAMS 結構的指標,其中包含其他參數。 這個參數是選擇性的,而且可以 NULL。
如果作業成功,OpenRemoteInterface 會傳回S_OK。 否則,方法可能會傳回下列值:
傳回碼 | 描述 |
---|---|
|
架構嘗試配置記憶體失敗。 |
這個方法可能會傳回 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 |