Condividi tramite


Metodo IWSDDeviceHost::AddDynamicService (wsdhost.h)

Registra un oggetto servizio per le richieste in ingresso, ma non aggiunge il servizio ai metadati dell'host del dispositivo. Questa operazione viene usata per i servizi temporanei (dinamici).

Sintassi

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
);

Parametri

[in] pszServiceId

ID per il servizio dinamico. L'ID servizio deve essere distinto da tutti gli ID del servizio nei metadati host del servizio e da qualsiasi altro servizio dinamico registrato. PszServiceId deve essere un URI.

[in, optional] pszEndpointAddress

URI facoltativo da usare come indirizzo endpoint per questo servizio. Se non è specificato alcun elemento, l'host del dispositivo presuppone che il servizio sia disponibile in tutti gli indirizzi di trasporto locali.

[in, optional] pPortType

Riferimento a una struttura WSD_PORT_TYPE che specifica il tipo di porta. Può essere NULL. Specificare solo uno di pPortType e pPortName.

[in, optional] pPortName

Riferimento a una struttura WSDXML_NAME che specifica il tipo del servizio, associando il servizio a una porta specificata. Specificare solo uno di pPortType e pPortName.

[in, optional] pAny

Riferimento facoltativo a una sezione estendibile da includere nei metadati del servizio dinamico.

[in, optional] pService

Riferimento facoltativo a un oggetto servizio host da registrare.

Valore restituito

I valori restituiti possibili includono, ma non sono limitati a, quanto segue:

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
E_POINTER
pszServiceId è NULL.
E_INVALIDARG
La lunghezza in caratteri di pszServiceId o pszEndpointAddress supera WSD_MAX_TEXT_LENGTH (8192) o vengono specificati sia pPortType che pPortName.
E_FAIL
Il metodo non è riuscito. Potrebbe non essere riuscito perché l'host non è stato inizializzato o il servizio specificato da pszServiceId non è stato trovato. Chiamare Init per inizializzare un host del dispositivo.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.

Commenti

Quando viene chiamato questo metodo, il dispositivo aggiunge un riferimento all'oggetto servizio e chiama i relativi metodi in risposta alle richieste di messaggi indirizzati al servizio. Chiamare il metodo RemoveDynamicService nell'host del dispositivo per rilasciare il riferimento al servizio e interrompere la chiamata ai metodi nel servizio.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wsdhost.h (includere Wsdapi.h)
DLL Wsdapi.dll

Vedi anche

IWSDDeviceHost