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
現在のメタデータ バージョン。
[in] ullInstanceId
公開されているデバイスの現在のインスタンスの識別子。 この識別子は、サービスが再起動されるたびにインクリメントする必要があります。 インスタンス識別子の詳細については、 WS-Discovery 仕様の付録 I を参照してください。
[in] ullMessageNumber
現在のメッセージのインスタンス識別子のスコープ内のカウンター。 メッセージ番号は、メッセージごとにインクリメントする必要があります。
[in, optional] pszSessionId
現在のセッションのインスタンス識別子のスコープ内の一意識別子。 このパラメーターは、Probe メッセージの 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構造体へのポインター。 各トランスポート アドレス文字列には、リモート ホストによる接続に使用できるアドレスとポート番号が含まれています。pXAddrsList と pXAddrsList-Element> は NULL にすることはできません。
戻り値
可能な戻り値には、次のものが含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
次の条件のうち 1 つ以上が当てはまります。
|
|
発行元が開始されていません。 通知シンクをアタッチすると、パブリッシャーが起動します。 シンクをアタッチするには、 RegisterNotificationSink を呼び出します。 |
|
操作を完了するためのメモリ不足。 |
注釈
MatchResolve は、検出パブリッシャーが ResolveHandler コールバックを発行した場合にのみ呼び出す必要があります。 pResolveMessage と pMessageParameters は、コールバックから MatchResolve に直接渡されます。 ResolveHandler は、指定された Resolve メッセージが一致するかどうかを判断するために発行元に必要な情報も渡し、一致する場合は ResolveMatches 応答を発行します (該当する場合)。
MatchResolve は、バインドされているすべてのアダプターで ResolveMatches メッセージを送信し、WS-Discovery で必要になったときにメッセージの再送信を自動的に発行します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wsddisco.h (Wsdapi.h を含む) |
[DLL] | Wsdapi.dll |