Metodo IWDFDevice2::CreateRemoteInterface (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 CreateRemoteInterface crea un oggetto interfaccia remota che rappresenta un'interfaccia dispositivo .
Sintassi
HRESULT CreateRemoteInterface(
[in] IWDFRemoteInterfaceInitialize *pRemoteInterfaceInit,
[in, optional] IUnknown *pCallbackInterface,
[out] IWDFRemoteInterface **ppRemoteInterface
);
Parametri
[in] pRemoteInterfaceInit
Puntatore a un'interfaccia IWDFRemoteInterfaceInitialize ricevuta dalla funzione di callback del driver IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival.
[in, optional] pCallbackInterface
Puntatore a un'interfaccia di callback fornita dal driver facoltativa. Il metodo IUnknown::QueryInterface di questa interfaccia deve restituire un puntatore alle interfacce IRemoteInterfaceCallbackEvent del driver e interfacce IRemoteInterfaceCallbackRemoval, se il driver supporta tali interfacce. Questo parametro è facoltativo e può essere NULL.
[out] ppRemoteInterface
Puntatore a una posizione fornita dal driver che riceve un puntatore all'interfaccia IWDFRemoteInterface del nuovo oggetto interfaccia remota.
Valore restituito
createRemoteInterface 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.
Osservazioni
Se il driver chiama CreateRemoteInterface, deve farlo dall'interno del IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival funzione di callback.
Per altre informazioni su CreateRemoteInterface e sull'uso delle interfacce del dispositivo, vedere Using Device Interfaces in UMDF-based Drivers
Esempi
L'esempio di codice seguente illustra un IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival funzione di callback che crea un oggetto interfaccia remota, crea un oggetto di destinazione remoto e apre la destinazione remota per le operazioni di I/O.
void
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
__in IWDFRemoteInterfaceInitialize * FxRemoteInterfaceInit
)
{
HRESULT hr = S_OK;
//
// Create a new remote interface object and provide a callback
// object to handle remote interface events.
//
CComPtr<IWDFRemoteInterface> fxRemoteInterface;
hr = m_FxDevice->CreateRemoteInterface(FxRemoteInterfaceInit,
MyRemoteInterfaceIUnknown,
&fxRemoteInterface);
if (FAILED(hr)) goto Error;
//
// Create a new remote target object and provide a callback
// object to handle remote target events.
//
CComPtr<IWDFRemoteTarget> fxTarget;
hr = m_FxDevice->CreateRemoteTarget(MyRemoteTargetIUnknown,
fxRemoteInterface,
&fxTarget);
if (FAILED(hr)) goto Error;
//
// Open the remote interface with read/write access.
//
hr = FxTarget->OpenRemoteInterface(fxRemoteInterface,
NULL,
GENERIC_READ | GENERIC_WRITE,
NULL);
if (FAILED(hr)) goto 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 |