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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de