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 陣列中的項目數。 如果 ppHostAddresses 是 IWSDAddress 介面,計數必須是 1。
傳回值
可能的傳回值包括但不限於下列各項:
傳回碼 | 描述 |
---|---|
|
方法已順利完成。 |
|
pszLocalId 為 NULL、 pszLocalId 的字元長度超過 WSD_MAX_TEXT_LENGTH (8192) ,或 ppHostAddresses 所參考的地址數目不符合 dwHostAddressCount。 |
|
裝置主機處於非預期狀態。 |
|
記憶體不足,無法完成作業。 |
|
無法完成初始化。 |
備註
此方法是由 WSDCreateDeviceHost 呼叫,而且通常不需要由您的程式代碼直接呼叫。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wsdhost.h (包含 Wsdapi.h) |
Dll | Wsdapi.dll |