Функция 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 для клиентских приложений и ПО промежуточного слоя.
Возвращаемое значение
Возможные возвращаемые значения включают, помимо прочего, следующие:
Код возврата | Описание |
---|---|
|
Метод успешно завершен. |
|
pszDeviceId имеет значение NULL, pszLocalId — NULL, длина в символах pszDeviceId превышает WSD_MAX_TEXT_LENGTH (8192), или длина символов pszLocalId превышает WSD_MAX_TEXT_LENGTH (8192). |
|
ppDeviceProxy имеет значение NULL. |
|
Недостаточно памяти для завершения операции. |
Комментарии
Функция 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 |