Condividi tramite


Funzione WSDCreateDeviceProxy (wsdclient.h)

Crea un proxy di dispositivo e restituisce un puntatore all'interfaccia IWSDDeviceProxy .

Sintassi

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

Parametri

[in] pszDeviceId

Indirizzo logico o fisico del dispositivo. Un indirizzo logico è nel formato urn:uuid:{guid}. Un indirizzo fisico è un URI preceduto da http o https. Se questo indirizzo è un URI preceduto da https, il proxy userà il protocollo SSL/TLS.

L'indirizzo del dispositivo può essere preceduto dal carattere @. Quando pszDeviceId inizia con @, questa funzione non recupera i metadati del dispositivo durante la creazione del proxy del dispositivo.

[in] pszLocalId

Indirizzo logico o fisico del client, usato per identificare il proxy e fungere da endpoint sink di eventi. Un indirizzo logico è nel formato urn:uuid:{guid}.

Se il client usa un canale sicuro per ricevere eventi, l'indirizzo è un URI preceduto da https. Questo URI deve specificare la porta 5358, perché questa porta è riservata per le connessioni sicure con WSDAPI. La porta deve essere configurata con un certificato server SSL prima di chiamare WSDCreateDeviceProxyAdvanced. Per altre informazioni sulla configurazione delle porte, vedere HttpSetServiceConfiguration.

[in] pContext

Oggetto IWSDXMLContext che definisce tipi di messaggi o spazi dei nomi personalizzati.

Se NULL, viene utilizzato un contesto predefinito che rappresenta i tipi di messaggio e gli spazi dei nomi predefiniti.

[out] ppDeviceProxy

Puntatore a un oggetto IWSDDeviceProxy usato per rappresentare un dispositivo WSD remoto per applicazioni client e middleware.

Valore restituito

I valori restituiti possibili includono, ma non sono limitati ai seguenti:

Codice restituito Descrizione
S_OK
Il metodo è stato completato correttamente.
E_INVALIDARG
pszDeviceId è NULL, pszLocalId è NULL, la lunghezza in caratteri di pszDeviceId supera WSD_MAX_TEXT_LENGTH (8192) o la lunghezza in caratteri di pszLocalId supera WSD_MAX_TEXT_LENGTH (8192).
E_POINTER
ppDeviceProxy è NULL.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.

Commenti

La funzione WSDCreateDeviceProxy chiama il metodo IWSDDeviceProxy::Init , che inizializza un'istanza di un oggetto IWSDDeviceProxy .

Questa funzione recupererà anche i metadati del dispositivo, a meno che il parametro pszDeviceId non inizi con il carattere @. Per recuperare i metadati del dispositivo dopo la creazione del proxy del dispositivo, chiamare IWSDDeviceProxy::BeginGetMetadata e IWSDDeviceProxy::EndGetMetadata nell'oggetto IWSDDeviceProxy restituito.

Per informazioni sulla risoluzione dei problemi relativi alle chiamate di funzione WSDCreateDeviceProxy , vedere Risoluzione dei problemi delle applicazioni WSDAPI.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wsdclient.h (include Wsdapi.h)
Libreria Wsdapi.lib
DLL Wsdapi.dll

Vedi anche

Risoluzione dei problemi delle applicazioni WSDAPI