共用方式為


IWSDiscoveryPublisher::P ublishEx 方法 (wsddisco.h)

透過傳送具有擴充資訊的 Hello 訊息,宣告網路主機是否存在。

語法

HRESULT PublishEx(
  [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] pszId

裝置的邏輯或實體位址,用來做為裝置端點位址。 邏輯位址的格式 urn:uuid:{guid} 為 。 實體位址可以是 HTTP 或 HTTPs 前置詞的 URI,或只是前置詞為 的 uri URI。 盡可能使用邏輯位址。

[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

目前會話實例識別碼範圍內的唯一識別碼。 此參數會對應至探查訊息中 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

[in, optional] pHeaderAny

WSDXML_ELEMENT結構的指標,其中包含要插入標頭之 「ANY」 區段中的 XML 專案。

[in, optional] pReferenceParameterAny

WSDXML_ELEMENT結構的指標,其中包含要插入參考參數屬性之 「ANY」 區段中的 XML 專案。

[in, optional] pPolicyAny

未使用。

[in, optional] pEndpointReferenceAny

WSDXML_ELEMENT 結構的指標 ,其中包含要插入端點之 「ANY」 區段中的 XML 專案。

[in, optional] pAny

WSDXML_ELEMENT結構的指標,其中包含要插入訊息本文之 「ANY」 區段中的 XML 專案。

傳回值

可能的傳回值包括,但不限於下列各項:

傳回碼 描述
S_OK
已成功完成命令。
E_INVALIDARG
下列一或多個條件成立:
  • pszIdNull
  • pszId字元的長度超過 WSD_MAX_TEXT_LENGTH (8192) 。
  • pszSessionId的字元長度超過 WSD_MAX_TEXT_LENGTH (8192) 。
HRESULT_FROM_WIN32 (ERROR_NO_CALLBACK_ACTIVE)
沒有已註冊的通知接收。 若要附加接收,請呼叫 RegisterNotificationSink
E_ABORT
發行者尚未啟動。 附加通知接收會啟動發行者。 若要附加接收,請呼叫 RegisterNotificationSink
E_OUTOFMEMORY
記憶體不足,無法完成作業。

備註

如果成功, PublishEx 會傳送 WS-Discovery Hello 訊息至本機子網並提供的資訊。

參考 WSDXML_ELEMENT 結構的參數可用來擴充以自訂資訊傳送的 Hello 訊息內容。

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 wsddisco.h (包含 Wsdapi.h)
Dll Wsdapi.dll

另請參閱

IWSDiscoveryPublisher