Поделиться через


Функция WSDCreateDeviceHost (wsdhost.h)

Создает узел устройства и возвращает указатель на интерфейс IWSDDeviceHost .

Синтаксис

HRESULT WSDCreateDeviceHost(
  [in]  LPCWSTR        pszLocalId,
  [in]  IWSDXMLContext *pContext,
  [out] IWSDDeviceHost **ppDeviceHost
);

Параметры

[in] pszLocalId

Логический или физический адрес устройства. Логический адрес имеет вид urn:uuid:{guid}. Если pszLocalId является логическим адресом, узел объявит логический адрес, а затем преобразует его в физический при получении сообщений Resolve или Probe.

Если pszLocalId является физическим адресом (например, URL-адрес с префиксом http или https), узел будет использовать адрес в качестве физического адреса и будет размещаться на этом адресе вместо адреса по умолчанию.

Для безопасного взаимодействия pszLocalId должен быть URL-адресом с префиксом https, а узел будет использовать протокол SSL/TLS на порте, указанном в URL-адресе. Рекомендуемый порт — порт 5358, так как он зарезервирован для безопасных подключений с помощью WSDAPI. Если порт не указан, узел будет использовать порт 443. Перед вызовом WSDCreateDeviceHost порт узла должен быть настроен с помощью SSL-сертификата сервера. Дополнительные сведения о конфигурации портов узлов см. в разделе HttpSetServiceConfiguration.

Любой URL-адрес (HTTP или HTTPS) должен заканчиваться косой чертой. URL-адрес должен содержать допустимый IP-адрес или имя узла.

В следующем списке показаны некоторые примеры значений для pszLocalId. Это не полный список допустимых значений.

  • http://192.168.0.1:5357/
  • http://localhost/
  • http://myHostname:5357/
  • https://192.168.0.1:5358/
  • https://myHostname/
  • https://myHostname/myDevice/
  • https://myHostname:5358/

[in] pContext

Объект IWSDXMLContext , который определяет пользовательские типы сообщений или пространства имен.

Если значение РАВНО NULL, используется контекст по умолчанию, представляющий встроенные типы сообщений и пространства имен.

[out] ppDeviceHost

Указатель на объект IWSDDeviceHost , который используется для предоставления семантики устройства WSD, связанной с сервером, который отвечает на входящие запросы.

Возвращаемое значение

Возможные возвращаемые значения включают, помимо прочего, следующие:

Код возврата Описание
S_OK
Метод успешно завершен.
E_INVALIDARG
PszLocalId имеет значение NULL или длина в символах pszLocalId превышает WSD_MAX_TEXT_LENGTH (8192).
E_POINTER
ppDeviceHost имеет значение NULL.
E_OUTOFMEMORY
Недостаточно памяти для завершения операции.

Комментарии

Функция WSDCreateDeviceHost вызывает метод IWSDDeviceHost::Init , который инициализирует экземпляр объекта IWSDDeviceHost .

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header wsdhost.h (включая Wsdapi.h)
Библиотека Wsdapi.lib
DLL Wsdapi.dll

См. также раздел

WSDCreateDeviceHostAdvanced