Funzione WSDCreateDeviceProxyAdvanced (wsdclient.h)
Crea un proxy di dispositivo e restituisce un puntatore all'interfaccia IWSDDeviceProxy .
Sintassi
HRESULT WSDCreateDeviceProxyAdvanced(
[in] LPCWSTR pszDeviceId,
IWSDAddress *pDeviceAddress,
[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.
Se pszDeviceId o pszLocalId è un URL preceduto da https, entrambi gli URL devono essere identici. In caso contrario, WSDCreateDeviceProxyAdvanced restituirà E_INVALIDARG.
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.
pDeviceAddress
Interfaccia IWSDAddress che definisce l'indirizzo di trasporto del dispositivo. Quando si specifica pDeviceAddress , è possibile creare un proxy di dispositivo senza richiedere la risoluzione di un indirizzo logico passato a pszDeviceId. Questo parametro può essere NULL.
[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
Interfaccia 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 all'interfaccia IWSDDeviceProxy usata 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 |
---|---|
|
Il metodo è stato completato correttamente. |
|
pszDeviceId è NULL, pszLocalId è NULL, la lunghezza in caratteri di pszDeviceId supera WSD_MAX_TEXT_LENGTH (8192), la lunghezza in caratteri di pszLocalId supera WSD_MAX_TEXT_LENGTH (8192) o pszDeviceId punta a un URI preceduto da https e tale URL non corrisponde all'URI passato a pszLocalId. |
|
ppDeviceProxy è NULL. |
|
Memoria insufficiente per completare l'operazione. |
Commenti
La funzione WSDCreateDeviceProxyAdvanced 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 WSDCreateDeviceProxyAdvanced , 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 |