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 controladores UMDF nuevos deben escribirse con 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 con 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 e IRemoteInterfaceCallbackRemoval del controlador, si el controlador admite esas interfaces. Este parámetro es opcional y puede ser NULL.
[out] ppRemoteInterface
Puntero a una ubicación proporcionada por el controlador que recibe un puntero a la interfaz IWDFRemoteInterface 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.
Comentarios
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 Uso de interfaces de dispositivo en controladores basados en UMDF.
Ejemplos
En el ejemplo de código siguiente se muestra una función de devolución de llamada IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival 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 | Value |
---|---|
Finalización del soporte técnico | No disponible en UMDF 2.0 y versiones posteriores. |
Plataforma de destino | Escritorio |
Versión mínima de UMDF | 1,9 |
Encabezado | wudfddi.h (incluya Wudfddi.h) |
Archivo DLL | WUDFx.dll |