Partager via


Méthode IWSDDeviceHost::AddDynamicService (wsdhost.h)

Inscrit un objet de service pour les requêtes entrantes, mais n’ajoute pas le service aux métadonnées de l’hôte de l’appareil. Il est utilisé pour les services temporaires (dynamiques).

Syntaxe

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

Paramètres

[in] pszServiceId

ID du service dynamique. L’ID de service doit être distinct de tous les ID de service dans les métadonnées de l’hôte de service et de tout autre service dynamique inscrit. PszServiceId doit être un URI.

[in, optional] pszEndpointAddress

URI facultatif à utiliser comme adresse de point de terminaison pour ce service. Si aucun n’est spécifié, l’hôte de l’appareil suppose que le service doit être disponible sur toutes les adresses de transport locales.

[in, optional] pPortType

Référence à une structure WSD_PORT_TYPE qui spécifie le type de port. Peut être NULL. Spécifiez un seul pPortType et pPortName.

[in, optional] pPortName

Référence à une structure WSDXML_NAME qui spécifie le type du service, en associant le service à un port spécifié. Spécifiez un seul pPortType et pPortName.

[in, optional] pAny

Référence facultative à une section extensible à inclure dans les métadonnées de service dynamiques.

[in, optional] pService

Référence facultative à un objet de service hôte à inscrire.

Valeur retournée

Les valeurs de retour possibles incluent, sans s’y limiter, les éléments suivants :

Code de retour Description
S_OK
Méthode terminée avec succès.
E_POINTER
pszServiceId a la valeur NULL.
E_INVALIDARG
La longueur en caractères de pszServiceId ou pszEndpointAddress dépasse WSD_MAX_TEXT_LENGTH (8192), ou pPortType et pPortName sont spécifiés.
E_FAIL
La méthode a échoué. Elle a peut-être échoué, car l’hôte n’a pas été initialisé ou le service spécifié par pszServiceId est introuvable. Appelez Init pour initialiser un hôte d’appareil.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.

Remarques

Lorsque cette méthode est appelée, l’appareil ajoute une référence à l’objet de service et appelle ses méthodes en réponse aux messages de demande adressés au service. Appelez la méthode RemoveDynamicService sur l’hôte de l’appareil pour libérer sa référence au service et arrêter d’appeler les méthodes sur le service.

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wsdhost.h (inclure Wsdapi.h)
DLL Wsdapi.dll

Voir aussi

IWSDDeviceHost