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 |
---|---|
|
Metodo completato correttamente. |
|
pszServiceId è NULL. |
|
La lunghezza in caratteri di pszServiceId o pszEndpointAddress supera WSD_MAX_TEXT_LENGTH (8192) o vengono specificati sia pPortType che pPortName. |
|
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. |
|
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 |