Método IWDFDevice2::CreateRemoteInterface (wudfddi.h)
[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los nuevos controladores UMDF deben escribirse mediante UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción a UMDF.]
El método createRemoteInterface crea un objeto de interfaz remota que representa una interfaz de dispositivo .
Sintaxis
HRESULT CreateRemoteInterface(
[in] IWDFRemoteInterfaceInitialize *pRemoteInterfaceInit,
[in, optional] IUnknown *pCallbackInterface,
[out] IWDFRemoteInterface **ppRemoteInterface
);
Parámetros
[in] pRemoteInterfaceInit
Puntero a una interfaz IWDFRemoteInterfaceInitialize que recibió la función de devolución de llamada IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival.
[in, optional] pCallbackInterface
Puntero a una interfaz de devolución de llamada opcional proporcionada por el controlador. El método IUnknown::QueryInterface de esta interfaz debe devolver un puntero a las interfaces IRemoteInterfaceCallbackEvent y IRemoteInterfaceCallbackRemoval, si el controlador admite esas interfaces. Este parámetro es opcional y se puede NULL.
[out] ppRemoteInterface
Puntero a una ubicación proporcionada por el controlador que recibe un puntero al IWDFRemoteInterface interfaz del nuevo objeto de interfaz remota.
Valor devuelto
createRemoteInterface devuelve S_OK si la operación se realiza correctamente. De lo contrario, el método podría devolver el siguiente valor:
Código devuelto | Descripción |
---|---|
|
Error en el intento del marco de trabajo de asignar memoria. |
Este método podría devolver uno de los otros valores que contiene Winerror.h.
Observaciones
Si el controlador llama a CreateRemoteInterface, debe hacerlo desde su función de devolución de llamada IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival.
Para obtener más información sobre CreateRemoteInterface y el uso de interfaces de dispositivo, consulte Using Device Interfaces in UMDF-based Drivers
Ejemplos
En el ejemplo de código siguiente se muestra un IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival función de devolución de llamada que crea un objeto de interfaz remota, crea un objeto de destino remoto y abre el destino remoto para las operaciones de E/S.
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;
...
}
Requisitos
Requisito | Valor |
---|---|
fin del soporte técnico | No disponible en UMDF 2.0 y versiones posteriores. |
de la plataforma de destino de | Escritorio |
versión mínima de UMDF | 1.9 |
encabezado de | wudfddi.h (incluya Wudfddi.h) |
DLL de | WUDFx.dll |