Método IWSDDeviceHost::AddDynamicService (wsdhost.h)
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).
Sintaxis
HRESULT AddDynamicService(
[in] LPCWSTR pszServiceId,
[in, optional] LPCWSTR pszEndpointAddress,
[in, optional] const WSD_PORT_TYPE *pPortType,
[in, optional] const WSDXML_NAME *pPortName,
[in, optional] const WSDXML_ELEMENT *pAny,
[in, optional] IUnknown *pService
);
Parámetros
[in] pszServiceId
Identificador del servicio dinámico. El identificador de servicio debe ser distinto de todos los identificadores de servicio de los metadatos del host de servicio y de cualquier otro servicio dinámico registrado. PszServiceId debe ser un URI.
[in, optional] pszEndpointAddress
Un URI opcional que se usará como dirección del punto de conexión para este servicio. Si no se especifica ninguno, el host del dispositivo asume que el servicio debe estar disponible en todas las direcciones de transporte locales.
[in, optional] pPortType
Referencia a una estructura de WSD_PORT_TYPE que especifica el tipo de puerto. Puede ser NULL. Especifique solo uno de pPortType y pPortName.
[in, optional] pPortName
Referencia a una estructura de WSDXML_NAME que especifica el tipo del servicio, con la asociación del servicio con un puerto especificado. Especifique solo uno de pPortType y pPortName.
[in, optional] pAny
Referencia opcional a una sección extensible que se incluirá en los metadatos del servicio dinámico.
[in, optional] pService
Referencia opcional a un objeto de servicio de host que se va a registrar.
Valor devuelto
Entre los valores devueltos posibles se incluyen, entre otros, los siguientes:
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente. |
|
pszServiceId es NULL. |
|
La longitud de caracteres de pszServiceId o pszEndpointAddress supera WSD_MAX_TEXT_LENGTH (8192), o se especifican pPortType y pPortName . |
|
Error en el método. Es posible que se haya producido un error porque no se ha inicializado el host o no se encontró el servicio especificado por pszServiceId . Llame a Init para inicializar un host de dispositivo. |
|
Memoria insuficiente para completar la operación. |
Observaciones
Cuando se llama a este método, el dispositivo agrega una referencia al objeto de servicio y llama a sus métodos en respuesta a los mensajes de solicitud dirigidos al servicio. Llame al método RemoveDynamicService en el host del dispositivo para liberar su referencia al servicio y detenga la llamada a métodos en el servicio.
Requisitos
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) |
Archivo DLL | Wsdapi.dll |