Метод IWSDiscoveryPublisher::MatchResolveEx (wsddisco.h)
Определяет, соответствует ли сообщение Resolve указанному узлу, и отправляет WS-Discovery сообщение ResolveMatches с расширенными сведениями, если совпадение выполнено.
Синтаксис
HRESULT MatchResolveEx(
[in] const WSD_SOAP_MESSAGE *pResolveMessage,
[in] IWSDMessageParameters *pMessageParameters,
[in] LPCWSTR pszId,
[in] ULONGLONG ullMetadataVersion,
[in] ULONGLONG ullInstanceId,
[in] ULONGLONG ullMessageNumber,
[in, optional] LPCWSTR pszSessionId,
[in, optional] const WSD_NAME_LIST *pTypesList,
[in, optional] const WSD_URI_LIST *pScopesList,
[in, optional] const WSD_URI_LIST *pXAddrsList,
[in, optional] const WSDXML_ELEMENT *pHeaderAny,
[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,
[in, optional] const WSDXML_ELEMENT *pPolicyAny,
[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,
[in, optional] const WSDXML_ELEMENT *pAny
);
Параметры
[in] pResolveMessage
Указатель на структуру WSD_SOAP_MESSAGE , представляющую сообщение Resolve, переданное в ResolveHandler приемника уведомлений.
[in] pMessageParameters
Указатель на объект IWSDMessageParameters , представляющий параметры передачи, передаваемые в ResolveHandler приемника уведомлений.
[in] pszId
Логический или физический адрес устройства, который используется в качестве адреса конечной точки устройства. Логический адрес имеет вид urn:uuid:{guid}
. Физический адрес может быть URI с префиксом http или https или просто URI с префиксом uri
. По возможности используйте логический адрес.
[in] ullMetadataVersion
Текущая версия метаданных.
[in] ullInstanceId
Идентификатор текущего экземпляра публикуемого устройства. Этот идентификатор необходимо увеличивать при каждом перезапуске службы. Дополнительные сведения об идентификаторах экземпляров см. в приложении I спецификации WS-Discovery.
[in] ullMessageNumber
Счетчик в область идентификатора экземпляра для текущего сообщения. Номер сообщения должен увеличиваться для каждого сообщения.
[in, optional] pszSessionId
Уникальный идентификатор в область идентификатора экземпляра для текущего сеанса. Этот параметр соответствует идентификатору последовательности в блоке AppSequence в сообщении пробы. Дополнительные сведения об идентификаторах последовательностей см. в приложении I спецификации WS-Discovery.
Этот параметр может иметь значение NULL.
[in, optional] pTypesList
Указатель на структуру WSD_NAME_LIST , представляющую список типов, поддерживаемых узлом публикации. Может иметь значение NULL. Если указан параметр pTypesList , MatchResolveEx будет использовать логику сопоставления WS-Discovery для проверки соответствия типов, указанных в pResolveMessage.
[in, optional] pScopesList
Указатель на структуру WSD_URI_LIST , представляющую список соответствующих областей, поддерживаемых узлом публикации. Список содержит хэш-значения в строковой форме. Может иметь значение NULL. Если указан параметр pScopesList , MatchResolveEx будет использовать WS-Discovery логику сопоставления, чтобы убедиться, что области соответствуют областям, указанным в pResolveMessage.
[in, optional] pXAddrsList
Указатель на структуру WSD_URI_LIST , представляющую список адресов транспорта, поддерживаемых узлом публикации. Каждая строка адреса транспорта содержит адрес и номер порта, которые можно использовать для подключения удаленного узла. PXAddrsList и pXAddrsList-Element> могут не иметь значения NULL.
[in, optional] pHeaderAny
Указатель на структуру WSDXML_ELEMENT , содержащую XML-элемент, который будет вставлен в раздел "ANY" заголовка.
[in, optional] pReferenceParameterAny
Указатель на структуру WSDXML_ELEMENT , содержащую XML-элемент, который будет вставлен в раздел ANY свойств ссылочного параметра.
[in, optional] pPolicyAny
Не используется.
[in, optional] pEndpointReferenceAny
Указатель на структуру WSDXML_ELEMENT , содержащую XML-элемент, который будет вставлен в раздел "ANY" конечной точки.
[in, optional] pAny
Указатель на структуру WSDXML_ELEMENT , содержащую XML-элемент, который будет вставлен в раздел ANY текста сообщения.
Возвращаемое значение
Возможные возвращаемые значения включают, помимо прочего, следующие:
Код возврата | Описание |
---|---|
|
Метод завершился успешно. |
|
Выполняется одно или несколько из следующих условий:
|
|
Издатель не запущен. Присоединение приемника уведомлений запускает издателя. Чтобы подключить приемник, вызовите RegisterNotificationSink. |
|
Недостаточно памяти для завершения операции. |
Комментарии
Значение MatchResolveEx должно быть только в том случае, если издатель обнаружения выполнил обратный вызов ResolveHandler . pResolveMessage и pMessageParameters передаются непосредственно из обратного вызова в MatchResolveEx. ResolveHandler также передает сведения, необходимые издателю, чтобы определить, совпадает ли предоставленное сообщение Resolve, и, если да, чтобы при необходимости выдать ответ ResolveMatches.
MatchResolveEx отправляет сообщения ResolveMatches на все связанные адаптеры и автоматически выдает повторную передачу сообщений, когда это требуется для WS-Discovery.
Параметры, относящиеся к WSDXML_ELEMENT структурам, можно использовать для расширения содержимого отправляемого сообщения ResolveMatches с помощью пользовательских сведений.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | wsddisco.h (включая Wsdapi.h) |
DLL | Wsdapi.dll |