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


Функция WSDCreateDeviceProxy (wsdclient.h)

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

Синтаксис

HRESULT WSDCreateDeviceProxy(
  [in]  LPCWSTR         pszDeviceId,
  [in]  LPCWSTR         pszLocalId,
  [in]  IWSDXMLContext  *pContext,
  [out] IWSDDeviceProxy **ppDeviceProxy
);

Параметры

[in] pszDeviceId

Логический или физический адрес устройства. Логический адрес имеет вид urn:uuid:{guid}. Физический адрес — это универсальный код ресурса (URI) с префиксом http или https. Если этот адрес является универсальным кодом ресурса (URI) с префиксом https, то прокси-сервер будет использовать протокол SSL/TLS.

Адрес устройства может иметь префикс символа @. Если pszDeviceId начинается с @, эта функция не получает метаданные устройства при создании прокси-сервера устройства.

[in] pszLocalId

Логический или физический адрес клиента, который используется для идентификации прокси-сервера и работы в качестве конечной точки приемника событий. Логический адрес имеет вид urn:uuid:{guid}.

Если клиент использует безопасный канал для получения событий, то адрес является универсальным кодом ресурса (URI) с префиксом https. Этот URI должен указывать порт 5358, так как этот порт зарезервирован для безопасных подключений с помощью WSDAPI. Перед вызовом WSDCreateDeviceProxyAdvanced необходимо настроить порт с помощью SSL-сертификата сервера. Дополнительные сведения о конфигурации порта см. в разделе HttpSetServiceConfiguration.

[in] pContext

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

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

[out] ppDeviceProxy

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

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

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

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

Комментарии

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

Эта функция также извлекает метаданные устройства, если параметр pszDeviceId не начинается с символа @. Чтобы получить метаданные устройства после создания прокси-сервера устройства, вызовите IWSDDeviceProxy::BeginGetMetadata и IWSDDeviceProxy::EndGetMetadata для возвращенного объекта IWSDDeviceProxy .

Сведения об устранении неполадок с вызовами функций WSDCreateDeviceProxy см. в разделе Устранение неполадок приложений WSDAPI.

Требования

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

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

Устранение неполадок с приложениями WSDAPI