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 info, vedi Introduzione con UMDF.]
Il metodo OpenRemoteInterface apre un'interfaccia del 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 una stringa con terminazione Null fornita dal chiamante 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 nel Windows SDK.
[in, optional] pOpenParams
Puntatore a una struttura 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 da Winerror.h.
Il verificatore del framework segnala un errore se il framework non è in grado di aprire il file.
Commenti
Dopo che la funzione di callback IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival riceve una notifica che un'interfaccia del dispositivo è disponibile 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 la 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 Uso di interfacce di dispositivo nei driver basati su UMDF.
Esempio
L'esempio di codice seguente illustra come una funzione di callback IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival può creare un'interfaccia remota e oggetti di destinazione remota per un'interfaccia del 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:
...
Requisiti
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
Piattaforma di destinazione | Desktop |
Versione UMDF minima | 1,9 |
Intestazione | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |