Partager via


Résolution des problèmes liés aux autres applications WSDAPI

Les applications peuvent appeler directement des interfaces et des fonctions WSDAPI pour effectuer la découverte des appareils et l’échange de métadonnées. Les modèles de message utilisés par ces applications varient.

L’objectif de ce guide de résolution des problèmes est d’aider les développeurs d’applications WSDAPI à implémenter correctement un proxy d’appareil. Ce guide n’est pas destiné à vous aider à résoudre tous les aspects de WSDAPI. Si le proxy d’appareil a été correctement créé et que le client et l’hôte peuvent se voir sur le réseau, ce guide ne peut pas résoudre les problèmes de l’application. Pour résoudre ces problèmes d’application, suivez les instructions fournies dans Activation du suivi WSDAPI et contactez le support Microsoft pour obtenir de l’aide.

Résolution des problèmes liés aux clients appelant WSDCreateDeviceProxy

Les applications appellent WSDCreateDeviceProxy pour créer et initialiser un instance de l’interface IWSDDeviceProxy. Cet objet proxy d’appareil peut être utilisé pour publier des services sur un appareil et également pour échanger des métadonnées.

Une application appelant WSDCreateDeviceProxy utilise toujours les messages suivants.

Une application appelant WSDCreateDeviceProxy utilise parfois les messages suivants.

Les messages Resolve et ResolveMatches sont générés lorsqu’une adresse d’appareil logique (autrement dit, une adresse d’appareil de la forme urn:uuid:{guid}) est passée à pszDeviceId. Ces messages ne sont pas générés lorsqu’une adresse d’appareil physique est passée à pszDeviceId. Lorsque des messages Resolve et ResolveMatches sont utilisés, ils sont envoyés avant les messages Get et GetResponse .

Les procédures de diagnostic suivantes doivent être utilisées (afin) d’identifier les problèmes liés à une application appelant WSDCreateDeviceProxy avec une adresse d’appareil physique.

  1. Inspecter les paramètres de l’adaptateur et du pare-feu.
  2. Utilisez un hôte et un client génériques pour l’échange de métadonnées HTTP.
  3. Utilisez la journalisation WinHTTP pour vérifier Obtenir le trafic.
  4. Inspectez les traces réseau pour l’échange de métadonnées HTTP.

Les procédures de diagnostic suivantes doivent être utilisées (afin) d’identifier les problèmes liés à une application appelant WSDCreateDeviceProxy avec une adresse d’appareil logique.

  1. Inspecter les paramètres de l’adaptateur et du pare-feu.
  2. Utilisez un hôte et un client génériques pour UDP WS-Discovery.
  3. Utilisez WSD Debug Client pour vérifier le trafic de multidiffusion.
  4. Inspectez les traces réseau pour UDP WS-Discovery.
  5. Utilisez un hôte et un client génériques pour l’échange de métadonnées HTTP.
  6. Utilisez la journalisation WinHTTP pour vérifier Obtenir le trafic.
  7. Inspectez les traces réseau pour l’échange de métadonnées HTTP.

Vérifiez que les messages Resolve et ResolveMatches sont générés et répondent aux exigences de trafic. Il n’est pas nécessaire de rechercher les messages Probe ou ProbeMatches dans la sortie du client de débogage WSD ou dans les traces réseau.

Résolution des problèmes liés aux clients appelant WSDCreateDeviceProxyAdvanced

Les applications appellent WSDCreateDeviceProxyAdvanced pour créer et initialiser un instance de l’interface IWSDDeviceProxy. Contrairement à WSDCreateDeviceProxy, WSDCreateDeviceProxyAdvanced a un paramètre pDeviceAddress qui est utilisé pour définir l’adresse de transport de l’appareil. Si cette adresse de transport est spécifiée, la résolution d’adresse logique n’est pas requise et les messages Resolve et ResolveMatches ne sont pas générés.

Si pDeviceAddress est défini sur NULL et pszDeviceId est une adresse logique, la résolution d’adresse est requise et les messages Resolve et ResolveMatches sont générés.

Les procédures de diagnostic suivantes doivent être utilisées (afin) d’identifier les problèmes liés à une application appelant WSDCreateDeviceProxyAdvanced avec un paramètre pDeviceAddress non NULL. Ces procédures peuvent également être utilisées lorsque pDeviceAddress a la valeur NULL et pszDeviceId est une adresse physique.

  1. Inspecter les paramètres de l’adaptateur et du pare-feu.
  2. Utilisez un hôte et un client génériques pour l’échange de métadonnées HTTP.
  3. Utilisez la journalisation WinHTTP pour vérifier Obtenir le trafic.
  4. Inspectez les traces réseau pour l’échange de métadonnées HTTP.

Les procédures de diagnostic suivantes doivent être utilisées (dans l’ordre) pour aider à identifier les problèmes liés à une application appelant WSDCreateDeviceProxyAdvanced avec pDeviceAddress défini sur NULL et avec pszDeviceId défini sur une adresse logique.

  1. Inspecter les paramètres de l’adaptateur et du pare-feu.
  2. Utilisez un hôte et un client génériques pour UDP WS-Discovery.
  3. Utilisez WSD Debug Client pour vérifier le trafic de multidiffusion.
  4. Inspectez les traces réseau pour UDP WS-Discovery.
  5. Utilisez un hôte et un client génériques pour l’échange de métadonnées HTTP.
  6. Utilisez la journalisation WinHTTP pour vérifier Obtenir le trafic.
  7. Inspectez les traces réseau pour l’échange de métadonnées HTTP.

Vérifiez que les messages Resolve et ResolveMatches sont générés et répondent aux exigences de trafic. Il n’est pas nécessaire de rechercher les messages Probe ou ProbeMatches dans la sortie du client de débogage WSD ou dans les traces réseau.

Résolution des problèmes liés aux clients à l’aide de l’interface IWSDiscoveryProvider

Les applications appelant l’interface IWSDiscoveryProvider n’effectuent pas d’échange de métadonnées. Cette interface est utilisée uniquement pour la découverte. Les modèles de message et les procédures de résolution des problèmes sont différents pour chaque méthode appelée sur l’interface IWSDiscoveryProvider .

Lorsqu’une application appelle IWSDiscoveryProvider::SearchByType, un message Probe est généré. Le message Probe est envoyé par la multidiffusion UDP au port 3702. Un message ProbeMatches est généré en réponse. Le message ProbeMatches est envoyé par la monodiffusion UDP et provient du port 3702.

Lorsqu’une application appelle IWSDiscoveryProvider::SearchById, un message Resolve est généré. Un message Resolve est envoyé par la multidiffusion UDP sur le port 3702. Un message ResolveMatches est généré en réponse. ResolveMatches est envoyé par la monodiffusion UDP et provient du port 3702.

Les procédures de diagnostic suivantes doivent être utilisées (dans l’ordre) pour aider à identifier les problèmes liés à une application appelant IWSDiscoveryProvider::SearchByType ou IWSDiscoveryProvider::SearchById. Vérifiez que les messages générés par l’API appelée répondent aux exigences de trafic.

  1. Inspecter les paramètres de l’adaptateur et du pare-feu.
  2. Utilisez un hôte et un client génériques pour UDP WS-Discovery.
  3. Utilisez WSD Debug Client pour vérifier le trafic de multidiffusion.
  4. Inspectez les traces réseau pour UDP WS-Discovery.

Si une application appelle IWSDiscoveryProvider::SearchByAddress, il s’agit d’une application de découverte dirigée. Pour plus d’informations sur la résolution des problèmes, consultez Résolution des problèmes d’applications à l’aide de la découverte dirigée.

résolution des problèmes Prise en main avec WSDAPI