Interfaz IWSDDeviceHost (wsdhost.h)
Representa un dispositivo compatible con DPWS. El host del dispositivo anunciará su presencia en la red mediante el protocolo WS-Discovery. El host del dispositivo también responderá automáticamente a las consultas de detección y las solicitudes de metadatos.
El autor de la llamada puede registrar los servicios implementados por el usuario con el host del dispositivo. Estos servicios se exponen en los metadatos del dispositivo y los servicios estarán disponibles a través de la red. Los mensajes enlazados a estos servicios se enviarán automáticamente al objeto de servicio.
Llame a WSDCreateDeviceHost o WSDCreateDeviceHostAdvanced para crear un objeto que exponga esta interfaz.
Herencia
La interfaz IWSDDeviceHost hereda de la interfaz IUnknown . IWSDDeviceHost también tiene estos tipos de miembros:
Métodos
La interfaz IWSDDeviceHost tiene estos métodos.
IWSDDeviceHost::AddDynamicService Registra un objeto de servicio para las solicitudes entrantes, pero no agrega el servicio a los metadatos del host del dispositivo. Se usa para los servicios transitorios (dinámicos). |
IWSDDeviceHost::Init Inicializa una instancia de un objeto IWSDDeviceHost. |
IWSDDeviceHost::RegisterPortType Registra un tipo de puerto para los mensajes entrantes. |
IWSDDeviceHost::RegisterService Registra un objeto de servicio para las solicitudes entrantes y agrega el servicio a los metadatos del host del dispositivo. |
IWSDDeviceHost::RemoveDynamicService Anula el registro de un objeto de servicio registrado mediante AddDynamicService. |
IWSDDeviceHost::RetireService Anula el registro de un objeto de servicio que se registró mediante RegisterService y quita el servicio de los metadatos del host del dispositivo. |
IWSDDeviceHost::SetMetadata Establece los metadatos de un dispositivo, excepto los metadatos de servicio definidos por el usuario. |
IWSDDeviceHost::SetServiceDiscoverable Controla si el servicio se anuncia mediante WS-Discovery. |
IWSDDeviceHost::SignalEvent Notifica a todos los clientes suscritos que se ha producido un evento. |
IWSDDeviceHost::Start Inicia el host del dispositivo y publica el host de dispositivo mediante un mensaje de WS-Discovery Hello. |
IWSDDeviceHost::Stop Envía un mensaje de WS-Discovery Bye y detiene el host. |
IWSDDeviceHost::Terminate Finaliza el host y libera los servicios adjuntos. |
Comentarios
Después de recuperar esta interfaz, la aplicación haría lo siguiente:
- Llame al método RegisterPortType para registrar todos los tipos de puerto necesarios.
- Llame a SetMetadata para describir el dispositivo y, opcionalmente, llame a RegisterService una o varias veces para registrar los servicios descritos en los metadatos del host de servicio.
- Llame al método Start para iniciar el host del dispositivo y publicar el dispositivo mediante WS-Discovery.Después de iniciar el host del dispositivo, puede:
- Llame a AddDynamicService para los servicios que no se describen en los metadatos del host de servicio (por ejemplo, un trabajo de impresión ad hoc).
- Llame a RetireService para finalizar la acción en y desconectar un servicio activado por el método RegisterService .
- Llame al método SignalEvent para indicar que se deben enviar notificaciones para suscripciones relacionadas con un evento determinado.
- Llame al método Stop para finalizar la ejecución del host y finalizar la publicación del dispositivo.
Un objeto IWSDDeviceHost puede proporcionar un objeto para un servicio a petición (mediante una devolución de llamada de notificación) al llamar al host recibe un mensaje de solicitud dirigido a ese servicio.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wsdhost.h (incluya Wsdapi.h) |