共用方式為


WSDCreateDeviceProxy 函式 (wsdclient.h)

建立裝置 Proxy,並傳回 IWSDDeviceProxy 介面的指標。

語法

HRESULT WSDCreateDeviceProxy(
  [in]  LPCWSTR         pszDeviceId,
  [in]  LPCWSTR         pszLocalId,
  [in]  IWSDXMLContext  *pContext,
  [out] IWSDDeviceProxy **ppDeviceProxy
);

參數

[in] pszDeviceId

裝置的邏輯或實體位址。 邏輯位址的格式 urn:uuid:{guid} 為 。 實體位址是 HTTP 或 HTTPs 前置詞的 URI。 如果此位址是 HTTPs 前置詞的 URI,則 Proxy 將會使用 SSL/TLS 通訊協定。

裝置位址可能前面加上 @ 字元。 當 pszDeviceId以 @開頭時,此函式不會在建立裝置 Proxy 時擷取裝置中繼資料。

[in] pszLocalId

用戶端的邏輯或實體位址,用來識別 Proxy 並做為事件接收端點。 邏輯位址的格式 urn:uuid:{guid} 為 。

如果用戶端使用安全通道來接收事件,則位址是 HTTPs 前置詞的 URI。 此 URI 應該指定埠 5358,因為此埠已保留給與 WSDAPI 的安全連線。 必須先使用 SSL 伺服器憑證設定埠,才能呼叫 WSDCreateDeviceProxyAdvanced。 如需埠設定的詳細資訊,請參閱 HttpSetServiceConfiguration

[in] pContext

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

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

[out] ppDeviceProxy

IWSDDeviceProxy物件的指標,您用來代表用戶端應用程式和中介軟體的遠端 WSD 裝置。

傳回值

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

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

備註

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

除非 pszDeviceId 參數以 @ 字元開頭,否則此函式也會擷取裝置中繼資料。 若要在建立裝置 Proxy 之後擷取裝置中繼資料,請在傳回的IWSDDeviceProxy 物件上呼叫 IWSDDeviceProxy::BeginGetMetadataIWSDeviceProxy::EndGetMetadata

如需針對 WSDCreateDeviceProxy 函式呼叫進行疑難排解的詳細資訊,請參閱 針對 WSDAPI 應用程式進行疑難排解

規格需求

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

另請參閱

針對 WSDAPI 應用程式進行疑難排解