Share via


IWSDiscoveryPublisher::MatchResolveEx (Compact 2013)

3/26/2014

This method determines if a Resolve message matches the specified host and sends a ResolveMatch with extended information if the match is made.

Syntax

HRESULT MatchResolve(
  const WSD_SOAP_MESSAGE* pResolveMessage,
  IWSDMessageParameters* pMessageParameters,
  LPCWSTR pszId,
  ULONGLONG ullMetadataVersion,
  ULONGLONG ullInstanceId,
  ULONGLONG ullMessageNumber,
  LPCWSTR pszSessionId,
  const WSD_NAME_LIST* pTypesList,
  const WSD_URI_LIST* pScopesList,
  const WSD_URI_LIST* pXAddrsList
    const WSDXML_ELEMENT* pHeaderAny,
  const WSDXML_ELEMENT* pReferenceParameterAny,
  const WSDXML_ELEMENT* pPolicyAny,
  const WSDXML_ELEMENT* pEndpointReferenceAny,
  const WSDXML_ELEMENT* pAny
);

Parameters

  • pResolveMessage
    [in] Resolve message passed in to the notification sink's ResolveHandler.
  • pMessageParameters
    [in] Transmission parameters passed in to the notification sink's ResolveHandler.
  • pszId
    [in] Device identifier to use in the device endpoint address.
  • ullMetadataVersion
    [in] Current metadata version.

    Note

    For compatibility with the WS-Discovery specification, this value must be less than or equal to UINT_MAX (4294967295).

  • ullInstanceId
    [in] Identifier for the current instance of the device being published.

    Note

    For compatibility with the WS-Discovery specification, this value must be less than or equal to UINT_MAX (4294967295).

  • ullMessageNumber
    [in] Counter within the scope of the instance identifier for the current message.

    Note

    For compatibility with the WS-Discovery specification, this value must be less than or equal to UINT_MAX (4294967295).

  • pszSessionId
    [in, optional] Unique identifier within the scope of the instance identifier for the current session.
  • pTypesList
    [in, optional] List of types supported by the publishing host. May be NULL.
  • pScopesList
    [in, optional] List of scopes supported by the publishing host. May be NULL.
  • pXAddrsList
    [in, optional] List of transport addresses supported by the publishing host. pXAddrsList and pXAddrsList->Element may not be NULL.
  • pHeaderAny
    [in, optional] DOM to be inserted in the ANY section of the header.
  • pReferenceParameterAny
    [in, optional] DOM to be inserted in the ANY section of the reference parameter properties.
  • pPolicyAny
    [in, optional] DOM to be inserted in the ANY section of the endpoint policy.
  • pEndpointReferenceAny
    [in, optional] DOM to be inserted in the ANY section of the endpoint.
  • pAny
    [in, optional] DOM to be inserted in the ANY section of the message body.

Return Value

The following table shows the possible error code return values.

Error code

Description

S_OK

This method completed successfully.

E_INVALIDARG

One or more of the following conditions is true:

  • pszId is NULL.
  • The length in characters of pszId exceeds WSD_MAX_TEXT_LENGTH (8192).
  • The length in characters of pszSessionId exceeds WSD_MAX_TEXT_LENGTH (8192).
  • pProbeMessage is NULL.

E_ABORT

The publisher has not been started. Attaching a notification sink starts the publisher. To attach a sink, call IWSDiscoveryPublisher::RegisterNotificationSink.

E_OUTOFMEMORY

Insufficient memory to complete the operation.

Remarks

MatchResolveEx should be only when the discovery publisher has issued a ResolveHandler callback. pResolveMessage and pMessageParameters are passed directly from the callback into MatchResolveEx, in addition to the required information for the publisher to determine if the resolve matches and issue a ResolveMatch response if appropriate. The DOM parameters can be used to extend the contents of the ResolveMatch message being sent with custom information.

Requirements

Header

wsdapi.h

Library

wsdapi.lib

See Also

Reference

IWSDiscoveryPublisher
Web Services on Devices Interfaces