Metodo IWDFRemoteTarget::OpenRemoteInterface (wudfddi.h)
[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedi Introduzione a UMDF.]
Il metodo OpenRemoteInterface apre un'interfaccia di dispositivo in modo che il driver possa inviare richieste di I/O.
Sintassi
HRESULT OpenRemoteInterface(
[in] IWDFRemoteInterface *pRemoteInterface,
[in, optional] PCWSTR pszRelativeFileName,
[in] DWORD DesiredAccess,
[in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);
Parametri
[in] pRemoteInterface
Puntatore a un'interfaccia IWDFRemoteInterface ottenuta dal driver da una chiamata precedente a IWDFDevice2::CreateRemoteInterface.
[in, optional] pszRelativeFileName
Puntatore facoltativo a un chiamante fornito, nullstringa terminata che il framework aggiunge al nome di collegamento simbolico dell'interfaccia del dispositivo.
[in] DesiredAccess
Maschera di bit che specifica l'accesso desiderato del chiamante al file. Per altre informazioni su questo membro, vedere il parametro DesiredAccess di CreateFile in Windows SDK.
[in, optional] pOpenParams
Puntatore a una struttura di UMDF_IO_TARGET_OPEN_PARAMS allocata dal chiamante che contiene parametri aggiuntivi. Questo parametro è facoltativo e può essere NULL.
Valore restituito
OpenRemoteInterface restituisce S_OK se l'operazione ha esito positivo. In caso contrario, il metodo potrebbe restituire il valore seguente:
Codice restituito | Descrizione |
---|---|
|
Il tentativo del framework di allocare memoria non è riuscito. |
Questo metodo potrebbe restituire uno degli altri valori contenuti in Winerror.h.
Il verificatore del framework segnala un errore se il framework non è in grado di aprire il file.
Osservazioni
Dopo IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival funzione di callback di un driver riceve la notifica che è disponibile un'interfaccia del dispositivo e dopo che il driver chiama IWDFDevice2::CreateRemoteInterface per creare un oggetto interfaccia remota, il driver può chiamare OpenRemoteInterface in modo che possa inviare richieste di I/O all'interfaccia del dispositivo.
L'interfaccia del dispositivo deve essere accessibile dall'account che ha caricato il driver basato su UMDF, che in genere è l'account del servizio locale. Tuttavia, se il driver usa rappresentazione quando chiama OpenRemoteInterface, l'interfaccia del dispositivo deve essere accessibile dall'account rappresentato.
Per altre informazioni su OpenRemoteInterface e su come usare le interfacce di dispositivo nei driver basati su UMDF, vedere Using Device Interfaces in UMDF-based Drivers.
Esempi
Nell'esempio di codice seguente viene illustrato come una IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival funzione di callback può creare un'interfaccia remota e oggetti di destinazione remota per un'interfaccia dispositivo e quindi aprire l'interfaccia per le operazioni di 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:
...
Fabbisogno
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
piattaforma di destinazione | Desktop |
versione minima di UMDF | 1.9 |
intestazione | wudfddi.h (include Wudfddi.h) |
dll | WUDFx.dll |