次の方法で共有


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

通知 シンクのResolveHandler に渡される Resolve メッセージを表すWSD_SOAP_MESSAGE構造体へのポインター。

[in] pMessageParameters

通知シンクの ResolveHandler に渡される送信パラメーターを表す IWSDMessageParameters オブジェクトへのポインター。

[in] pszId

デバイスのエンドポイント アドレスとして使用される、デバイスの論理アドレスまたは物理アドレス。 論理アドレスは という形式 urn:uuid:{guid}です。 物理アドレスには、http または https でプレフィックスが付いた URI、または 単に によってプレフィックスが付いた uriURI を指定できます。 可能な限り、論理アドレスを使用します。

[in] ullMetadataVersion

現在のメタデータ バージョン。

メモWS-Discovery 仕様との互換性を保つには、この値を UINT_MAX (4294967295) 以下にする必要があります。
 

[in] ullInstanceId

公開されているデバイスの現在のインスタンスの識別子。 この識別子は、サービスが再起動されるたびにインクリメントする必要があります。 インスタンス識別子の詳細については、 WS-Discovery 仕様の付録 I を参照してください。

メモWS-Discovery 仕様との互換性を保つには、この値を UINT_MAX (4294967295) 以下にする必要があります。
 

[in] ullMessageNumber

現在のメッセージのインスタンス識別子のスコープ内のカウンター。 メッセージ番号は、メッセージごとにインクリメントする必要があります。

メモWS-Discovery 仕様との互換性を保つには、この値を UINT_MAX (4294967295) 以下にする必要があります。
 

[in, optional] pszSessionId

現在のセッションのインスタンス識別子のスコープ内の一意識別子。 このパラメーターは、Probe メッセージの AppSequence ブロック内のシーケンス識別子に対応します。 シーケンス識別子の詳細については、 WS-Discovery 仕様の付録 I を参照してください。

このパラメーターには 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

ヘッダー の " ANY" セクションに挿入する XML 要素を含むWSDXML_ELEMENT構造体へのポインター。

[in, optional] pReferenceParameterAny

参照パラメーター プロパティの " ANY" セクションに挿入する XML 要素を含むWSDXML_ELEMENT構造体へのポインター。

[in, optional] pPolicyAny

使用されていません。

[in, optional] pEndpointReferenceAny

エンドポイント の " ANY" セクションに挿入する XML 要素を含むWSDXML_ELEMENT構造体へのポインター。

[in, optional] pAny

メッセージ 本文の " ANY" セクションに挿入する XML 要素を含むWSDXML_ELEMENT構造体へのポインター。

戻り値

可能な戻り値には、次のものが含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
E_INVALIDARG
次の条件のうち 1 つ以上が当てはまります。
  • pszIdNULL です
  • pszId の文字数が WSD_MAX_TEXT_LENGTH (8192) を超えています。
  • pszSessionId の文字数がWSD_MAX_TEXT_LENGTH (8192) を超えています。
  • pProbeMessageNULL です
E_ABORT
発行元が開始されていません。 通知シンクをアタッチすると、パブリッシャーが起動します。 シンクをアタッチするには、 RegisterNotificationSink を呼び出します。
E_OUTOFMEMORY
操作を完了するにはメモリが不足しています。

注釈

MatchResolveEx は、検出パブリッシャーが ResolveHandler コールバックを発行した場合にのみ指定する必要があります。 pResolveMessagepMessageParameters は、コールバックから MatchResolveEx に直接渡されます。 ResolveHandler は、指定された Resolve メッセージが一致するかどうかを判断し、必要に応じて ResolveMatches 応答を発行するために必要な情報も渡します。

MatchResolveEx は 、バインドされているすべてのアダプターで ResolveMatches メッセージを送信し、WS-Discovery で必要なときにメッセージの再送信を自動的に発行します。

WSDXML_ELEMENT構造体を参照するパラメーターを使用して、カスタム情報と共に送信される ResolveMatches メッセージの内容を拡張できます。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wsddisco.h (Wsdapi.h を含む)
[DLL] Wsdapi.dll

こちらもご覧ください

IWSDiscoveryPublisher