共用方式為


iWSDDeviceHost::Init 方法 (wsdhost.h)

初始化 IWSDDeviceHost 對象的實例,這是裝置的主機端表示法。

語法

HRESULT Init(
  [in]           LPCWSTR        pszLocalId,
  [in, optional] IWSDXMLContext *pContext,
  [in, optional] IWSDAddress    **ppHostAddresses,
  [in, optional] DWORD          dwHostAddressCount
);

參數

[in] pszLocalId

裝置的邏輯或實體位址。 邏輯位址格式為 urn:uuid:{guid}。 如果 pszLocalId 是邏輯位址,主機將會宣告邏輯位址,然後在接收解析或探查訊息時將位址轉換為實體位址。

如果 pszLocalId 是實體位址 (,例如 URL 前面加上 HTTP 或 https) ,主機會使用地址作為實體位址,並將裝載在該位址上,而不是預設位址。

若要安全通訊, pszLocalId 必須是 HTTPs 前置詞的 URL,而且主機會在 URL 中指定的埠上使用 SSL/TLS 通訊協定。 建議的埠是埠 5358,因為此埠會保留給 WSDAPI 的安全連線。 如果未指定埠,則主機會使用埠 443。 主機埠必須使用 SSL 伺服器證書進行設定。 如需主機埠設定的詳細資訊,請參閱 HttpSetServiceConfiguration

任何 URL (HTTP 或 HTTPs) 都必須以結尾斜線終止。 URL 必須包含有效的IP位址或主機名。

下列清單顯示 pszLocalId 的一些範例值。 這不是有效值的完整清單。

  • http://192.168.0.1:5357/
  • http://localhost/
  • http://myHostname:5357/
  • https://192.168.0.1:5358/
  • https://myHostname/
  • https://myHostname/myDevice/
  • https://myHostname:5358/

[in, optional] pContext

定義自訂訊息類型或命名空間的 IWSDXMLContext 介面。

[in, optional] ppHostAddresses

單一 IWSDAddress 物件或 IWSDTransportAddress 物件。 物件會提供主機應該接聽之特定位址的相關信息。

如果 pszLocalId 包含本機位址,則產生的行為是邏輯位址與提供的實體位址 (之間的對應,而不是邏輯位址與預設實體地址之間的對應) 。

[in, optional] dwHostAddressCount

ppHostAddresses 陣列中的項目數。 如果 ppHostAddressesIWSDAddress 介面,計數必須是 1。

傳回值

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

傳回碼 描述
S_OK
方法已順利完成。
E_INVALIDARG
pszLocalIdNULLpszLocalId 的字元長度超過 WSD_MAX_TEXT_LENGTH (8192) ,或 ppHostAddresses 所參考的地址數目不符合 dwHostAddressCount
E_FAIL
裝置主機處於非預期狀態。
E_OUTOFMEMORY
記憶體不足,無法完成作業。
E_ABORT
無法完成初始化。

備註

此方法是由 WSDCreateDeviceHost 呼叫,而且通常不需要由您的程式代碼直接呼叫。

規格需求

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

另請參閱

IWSDDeviceHost