IWSDiscoveryPublisher::P ublish 方法 (wsddisco.h)
藉由傳送 Hello 訊息來宣布網路主機是否存在。
語法
HRESULT Publish(
[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] pszId
裝置的邏輯或實體位址,用來作為裝置端點位址。 邏輯位址格式為 urn:uuid:{guid}
。 實體位址可以是前置詞為 HTTP 或 HTTPs 的 URI,或只是前置詞為的 uri
URI。 盡可能使用邏輯位址。
[in] ullMetadataVersion
目前的元數據版本。
[in] ullInstanceId
正在發行之裝置目前實例的標識碼。 每次重新啟動服務時,都必須遞增此標識符。 如需實例標識碼的詳細資訊,請參閱 WS-Discovery 規格的附錄 I。
[in] ullMessageNumber
目前訊息之實例標識碼範圍內的計數器。 每個訊息的訊息編號都必須遞增。
[in, optional] pszSessionId
目前會話之實例標識碼範圍內的唯一標識符。 此參數會對應至探查訊息中AppSequence區塊中的序列標識碼。 如需序列標識碼的詳細資訊,請參閱 WS-Discovery 規格的附錄 I。
此參數可以是 NULL。
[in, optional] pTypesList
WSD_NAME_LIST 結構的指標,表示發行主機所支援的類型清單。 可為 NULL。
[in, optional] pScopesList
WSD_URI_LIST 結構的指標,表示發佈主機所支援的相符範圍清單。 清單包含字串格式的哈希值。 可為 NULL。
[in, optional] pXAddrsList
WSD_URI_LIST 結構的指標,表示發佈主機所支援的傳輸位址清單。 每個傳輸位址字串都包含位址和埠號碼,可用於遠端主機的連線。 可為 NULL。
傳回值
可能的傳回值包括但不限於下列各項:
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
下列一或多個條件成立:
|
|
沒有已註冊的通知接收。 若要附加接收,請呼叫 RegisterNotificationSink。 |
|
發行者尚未啟動。 附加通知接收會啟動發行者。 若要附加接收,請呼叫 RegisterNotificationSink。 |
|
記憶體不足,無法完成作業。 |
備註
如果成功, Publish 會將 WS-Discovery Hello 訊息傳送至本機子網,並提供的資訊。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wsddisco.h (包含 Wsdapi.h) |
Dll | Wsdapi.dll |