Метод IWSDDeviceHost::AddDynamicService (wsdhost.h)
Регистрирует объект службы для входящих запросов, но не добавляет службу в метаданные узла устройства. Используется для временных (динамических) служб.
Синтаксис
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
);
Параметры
[in] pszServiceId
Идентификатор динамической службы. Идентификатор службы должен отличаться от всех идентификаторов служб в метаданных узла службы и от любой другой зарегистрированной динамической службы. PszServiceId должен быть универсальным кодом ресурса (URI).
[in, optional] pszEndpointAddress
Необязательный универсальный код ресурса (URI), используемый в качестве адреса конечной точки для этой службы. Если параметр не указан, узел устройства предполагает, что служба должна быть доступна на всех локальных транспортных адресах.
[in, optional] pPortType
Ссылка на структуру WSD_PORT_TYPE , указывающую тип порта. Может иметь значение NULL. Укажите только один из pPortType и pPortName.
[in, optional] pPortName
Ссылка на структуру WSDXML_NAME , указывающую тип службы, с связыванием службы с указанным портом. Укажите только один из pPortType и pPortName.
[in, optional] pAny
Необязательная ссылка на расширяемый раздел, который будет включен в метаданные динамической службы.
[in, optional] pService
Необязательная ссылка на объект службы узла для регистрации.
Возвращаемое значение
Возможные возвращаемые значения включают, помимо прочего, следующие:
Код возврата | Описание |
---|---|
|
Метод успешно завершен. |
|
pszServiceId имеет значение NULL. |
|
Длина в символах pszServiceId или pszEndpointAddress превышает WSD_MAX_TEXT_LENGTH (8192), или указаны как pPortType, так и pPortName . |
|
Сбой метода. Возможно, произошел сбой, так как узел не был инициализирован или не удалось найти службу, указанную в pszServiceId . Вызовите init для инициализации узла устройства. |
|
Недостаточно памяти для завершения операции. |
Комментарии
При вызове этого метода устройство добавляет ссылку на объект службы и вызывает его методы в ответ на сообщения запроса, адресованные службе. Вызовите метод RemoveDynamicService на узле устройства, чтобы освободить ссылку на службу и прекратить вызов методов в службе.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | wsdhost.h (включая Wsdapi.h) |
DLL | Wsdapi.dll |