WSDCreateDeviceHost 函式 (wsdhost.h)

建立裝置主機,並傳回 IWSDDeviceHost 介面的指標。

語法

HRESULT WSDCreateDeviceHost(
  [in]  LPCWSTR        pszLocalId,
  [in]  IWSDXMLContext *pContext,
  [out] IWSDDeviceHost **ppDeviceHost
);

參數

[in] pszLocalId

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

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

為了安全通訊, pszLocalId 必須是 HTTPs 前置詞的 URL,而主機將會在 URL 中指定的埠上使用 SSL/TLS 通訊協定。 建議的埠是埠 5358,因為此埠會保留給與 WSDAPI 的安全連線。 如果未指定埠,主機將會使用埠 443。 必須先使用 SSL 伺服器憑證設定主機埠,才能呼叫 WSDCreateDeviceHost。 如需主機埠設定的詳細資訊,請參閱 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] pContext

定義自訂訊息類型或命名空間的 IWSDXMLCoNtext 物件。

如果 為 Null,則會使用代表內建訊息類型和命名空間的預設內容。

[out] ppDeviceHost

您用來公開與回應傳入要求之伺服器相關聯的 WSD 特定裝置語意的 IWSDDDHost 物件的指標。

傳回值

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

傳回碼 描述
S_OK
方法已順利完成。
E_INVALIDARG
pszLocalIdNull ,或 pszLocalId 的字元長度超過 WSD_MAX_TEXT_LENGTH (8192) 。
E_POINTER
ppDeviceHostNull
E_OUTOFMEMORY
記憶體不足,無法完成作業。

備註

WSDCreateDeviceHost函式會呼叫IWSDDeviceHost::Init方法,這個方法會初始化IWSDDeviceHost物件的實例。

規格需求

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

另請參閱

WSDCreateDeviceHostAdvanced