Share via


IWSDiscoveryPublisher::MatchResolve 메서드(wsddisco.h)

Resolve 메시지가 지정된 호스트와 일치하는지 여부를 확인하고 일치하는 경우 WS-Discovery ResolveMatches 메시지를 보냅니다.

구문

HRESULT MatchResolve(
  [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] pResolveMessage

알림 싱크의 ResolveHandler에 전달된 Resolve 메시지를 나타내는 WSD_SOAP_MESSAGE 구조체에 대한 포인터입니다.

[in] pMessageParameters

알림 싱크의 ResolveHandler에 전달된 전송 매개 변수를 나타내는 IWSDMessageParameters 개체에 대한 포인터입니다.

[in] pszId

디바이스 엔드포인트 주소로 사용되는 디바이스의 논리적 또는 물리적 주소입니다. 논리적 주소는 형식 urn:uuid:{guid}입니다. 실제 주소는 http 또는 https 접두사로 접두사로 지정된 URI이거나 단순히 에 접 uri두사로 지정된 URI일 수 있습니다. 가능하면 논리 주소를 사용합니다.

[in] ullMetadataVersion

현재 메타데이터 버전입니다.

참고WS-Discovery 사양과의 호환성을 위해 이 값은 UINT_MAX(4294967295)보다 작거나 같아야 합니다.
 

[in] ullInstanceId

게시 중인 디바이스의 현재 instance 대한 식별자입니다. 이 식별자는 서비스를 다시 시작할 때마다 증가해야 합니다. instance 식별자에 대한 자세한 내용은 WS-Discovery 사양의 부록 I를 참조하세요.

참고WS-Discovery 사양과의 호환성을 위해 이 값은 UINT_MAX(4294967295)보다 작거나 같아야 합니다.
 

[in] ullMessageNumber

현재 메시지에 대한 instance 식별자의 scope 내 카운터입니다. 메시지 번호는 각 메시지에 대해 증가해야 합니다.

참고WS-Discovery 사양과의 호환성을 위해 이 값은 UINT_MAX(4294967295)보다 작거나 같아야 합니다.
 

[in, optional] pszSessionId

현재 세션에 대한 instance 식별자의 scope 내의 고유 식별자입니다. 이 매개 변수는 프로브 메시지의 AppSequence 블록에 있는 시퀀스 식별자에 해당합니다. 시퀀스 식별자에 대한 자세한 내용은 WS-Discovery 사양의 부록 I를 참조하세요.

이 매개 변수는 NULL일 수 있습니다.

[in, optional] pTypesList

게시 호스트에서 지원하는 형식 목록을 나타내는 WSD_NAME_LIST 구조체에 대한 포인터입니다. NULL일 수 있습니다. pTypesList를 지정하면 MatchResolve는 WS-Discovery 일치 논리를 사용하여 형식이 pResolveMessage에 지정된 형식과 일치하는지 확인합니다.

[in, optional] pScopesList

게시 호스트에서 지원하는 일치하는 범위 목록을 나타내는 WSD_URI_LIST 구조체에 대한 포인터입니다. 목록에는 문자열 형식의 해시 값이 포함되어 있습니다. NULL일 수 있습니다. pScopesList가 지정된 경우 MatchResolve는 WS-Discovery 일치 논리를 사용하여 범위가 pResolveMessage에 지정된 범위와 일치하는지 확인합니다.

[in, optional] pXAddrsList

게시 호스트에서 지원하는 전송 주소 목록을 나타내는 WSD_URI_LIST 구조체에 대한 포인터입니다. 각 전송 주소 문자열에는 원격 호스트의 연결에 사용할 수 있는 주소와 포트 번호가 포함되어 있습니다. pXAddrsListpXAddrsList-Element>NULL이 아닐 수 있습니다.

반환 값

가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.
E_INVALIDARG
다음 조건 중 하나 이상이 true입니다.
  • pszIdNULL입니다.
  • pszId의 문자 길이가 WSD_MAX_TEXT_LENGTH(8192)를 초과합니다.
  • pszSessionId의 문자 길이가 WSD_MAX_TEXT_LENGTH(8192)를 초과합니다.
  • pProbeMessageNULL입니다.
E_ABORT
게시자가 시작되지 않았습니다. 알림 싱크를 연결하면 게시자가 시작됩니다. 싱크를 연결하려면 RegisterNotificationSink를 호출합니다.
E_OUTOFMEMORY
메모리가 부족하여 작업을 완료할 수 없습니다.

설명

MatchResolve 는 검색 게시자가 ResolveHandler 콜백을 실행한 경우에만 호출해야 합니다. pResolveMessagepMessageParameters 는 콜백에서 MatchResolve로 직접 전달됩니다. 또한 ResolveHandler는 제공된 Resolve 메시지가 일치하는지 확인하고 해당하는 경우 ResolveMatches 응답을 발급하는 데 필요한 정보를 게시자에 전달합니다.

MatchResolve 는 모든 바인딩된 어댑터에서 ResolveMatches 메시지를 보내고 WS-Discovery에 필요한 경우 메시지 재전송을 자동으로 실행합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wsddisco.h(Wsdapi.h 포함)
DLL Wsdapi.dll

추가 정보

IWSDiscoveryPublisher