共用方式為


IWSDDeviceHost::AddDynamicService 方法 (wsdhost.h)

註冊傳入要求的服務物件,但不會將服務新增至裝置主機中繼資料。 這用於暫時性 (動態) 服務。

語法

HRESULT AddDynamicService(
  [in]           LPCWSTR              pszServiceId,
  [in, optional] LPCWSTR              pszEndpointAddress,
  [in, optional] const WSD_PORT_TYPE  *pPortType,
  [in, optional] const WSDXML_NAME    *pPortName,
  [in, optional] const WSDXML_ELEMENT *pAny,
  [in, optional] IUnknown             *pService
);

參數

[in] pszServiceId

動態服務的識別碼。 服務識別碼必須與服務主機中繼資料中的所有服務識別碼以及任何其他已註冊的動態服務不同。 pszServiceId必須是 URI。

[in, optional] pszEndpointAddress

選擇性 URI,用來作為此服務的端點位址。 如果未指定任何專案,則裝置主機會假設服務應該可在所有本機傳輸位址上使用。

[in, optional] pPortType

指定埠類型的 WSD_PORT_TYPE 結構的參考。 可為 Null。 只指定 pPortTypepPortName的其中一個。

[in, optional] pPortName

指定服務類型的 WSDXML_NAME 結構參考,並將服務與指定的埠產生關聯。 只指定 pPortTypepPortName的其中一個。

[in, optional] pAny

要包含在動態服務中繼資料中的可延伸區段選擇性參考。

[in, optional] pService

要註冊之主機服務物件的選擇性參考。

傳回值

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

傳回碼 描述
S_OK
方法已順利完成。
E_POINTER
pszServiceIdNull
E_INVALIDARG
pszServiceIdpszEndpointAddress字元的長度超過 WSD_MAX_TEXT_LENGTH (8192) ,或同時指定pPortTypepPortName
E_FAIL
方法失敗。 可能因為主機尚未初始化而失敗,或找不到 pszServiceId 所指定的服務。 呼叫 Init 以初始化裝置主機。
E_OUTOFMEMORY
記憶體不足,無法完成作業。

備註

呼叫此方法時,裝置會新增服務物件的參考,並呼叫其方法來回應定址至服務的訊息。 呼叫裝置主機上的 RemoveDynamicService 方法,釋放其對服務的參考,並停止在服務上呼叫方法。

規格需求

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

另請參閱

IWSDDeviceHost