Método IWDFDevice2::RegisterRemoteInterfaceNotification (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 RegisterRemoteInterfaceNotification registra un controlador para recibir una notificación cuando una interfaz de dispositivo especificada está disponible.

Sintaxis

HRESULT RegisterRemoteInterfaceNotification(
  [in] LPCGUID pDeviceInterfaceGuid,
  [in] BOOL    IncludeExistingInterfaces
);

Parámetros

[in] pDeviceInterfaceGuid

Puntero a un GUID que identifica una interfaz de dispositivo.

[in] IncludeExistingInterfaces

Valor booleano. Si el controlador establece este valor en TRUE, el marco notifica al controlador si la interfaz de dispositivo especificada está disponible después de que el controlador llame a RegisterRemoteInterfaceNotification y también notifica al controlador si la interfaz del dispositivo estaba disponible antes del controlador llamado RegisterRemoteInterfaceNotification.

Si el controlador establece este valor en FALSE, el marco notifica al controlador solo si la interfaz del dispositivo está disponible después de que el controlador llame a RegisterRemoteInterfaceNotification.

Valor devuelto

RegisterRemoteInterfaceNotification devuelve S_OK de la operación se realiza correctamente. De lo contrario, este método devuelve otro valor que Contiene Winerror.h.

Comentarios

El controlador puede llamar a RegisterRemoteInterfaceNotification solo si la interfaz de devolución de llamada que el controlador pasó anteriormente a IWDFDriver::CreateDevice admite la interfaz IPnpCallbackRemoteInterfaceNotification .

Para obtener más información, consulte Uso de interfaces de dispositivo en controladores basados en UMDF.

Ejemplos

En el ejemplo de código siguiente se muestra cómo una función de devolución de llamada IDriverEntry::OnDeviceAdd puede registrarse para recibir una notificación de la llegada de una interfaz de dispositivo.

HRESULT
CMyDriver::OnDeviceAdd(
    __in IWDFDriver  *FxDriver,
    __in IWDFDeviceInitialize  *FxDeviceInit
    )
{
    CComPtr<IWDFDevice> fxDevice;
    HRESULT hr;

    //
    // Create a device object and obtain the IWDFDevice interface.
    //
    hr = FxDriver->CreateDevice(FxDeviceInit,
                                MyDeviceIUnknown,
                                &fxDevice);
    if (FAILED(hr)) goto Error;

    //
    // Obtain the IWDFDevice2 interface from IWDFDevice.
    //
    CComPtr<IWDFDevice2> fxDevice2;
    if (FAILED(hr)) goto Error;
    hr = fxDevice->QueryInterface(IID_PPV_ARGS(&fxDevice2));
    if (S_OK != hr) goto Error;
    //
    // Register for notification when a device interface
    // arrives.
    //
    hr = fxDevice2->RegisterRemoteInterfaceNotification(&GUID_DEVINTERFACE_TOASTER,
                                                        true);
...
}

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

Consulte también

IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival

IWDFDevice2