Risoluzione dei problemi di altre applicazioni WSDAPI

Le applicazioni possono chiamare direttamente nelle interfacce e nelle funzioni WSDAPI per eseguire lo scambio di metadati e individuazione dei dispositivi. I modelli di messaggio usati da queste applicazioni variano.

L'obiettivo di questa guida alla risoluzione dei problemi è aiutare gli sviluppatori di applicazioni WSDAPI a implementare correttamente un proxy di dispositivo. Questa guida non consente di risolvere tutti gli aspetti di WSDAPI. Se il proxy del dispositivo è stato creato correttamente e il client e l'host possono visualizzarsi reciprocamente nella rete, questa guida non può risolvere i problemi dell'applicazione. Per risolvere questi problemi dell'applicazione, seguire le istruzioni riportate in Abilitazione della traccia WSDAPI e contattare il supporto Tecnico Microsoft per ulteriore assistenza.

Risoluzione dei problemi dei client che chiamano WSDCreateDeviceProxy

Le applicazioni chiamano WSDCreateDeviceProxy per creare e inizializzare un'istanza dell'interfaccia IWSDDeviceProxy . Questo oggetto proxy dispositivo può essere usato per annunciare i servizi in un dispositivo e anche per scambiare metadati.

Un'applicazione che chiama WSDCreateDeviceProxy usa sempre i messaggi seguenti.

Un'applicazione che chiama WSDCreateDeviceProxy talvolta usa i messaggi seguenti.

I messaggi Resolvee ResolveMatches vengono generati quando a pszDeviceId viene passato un indirizzo del dispositivo del modulo urn:uuid:{guid}. Questi messaggi non vengono generati quando un indirizzo del dispositivo fisico viene passato a pszDeviceId. Quando vengono usati i messaggi Resolve e ResolveMatches, vengono inviati prima dei messaggi Get e GetResponse .

Per identificare i problemi con un'applicazione che chiama WSDCreateDeviceProxy con un indirizzo fisico, è necessario usare le procedure di diagnostica seguenti.

  1. Esaminare le impostazioni dell'adattatore e del firewall.
  2. Usare un host generico e un client per lo scambio di metadati HTTP.
  3. Usare la registrazione WinHTTP per verificare Get traffic (Ottieni traffico).
  4. Esaminare le tracce di rete per lo scambio di metadati HTTP.

Per identificare i problemi relativi a un'applicazione che chiama WSDCreateDeviceProxy con un indirizzo logico del dispositivo, è necessario usare le procedure di diagnostica seguenti.

  1. Esaminare le impostazioni dell'adattatore e del firewall.
  2. Usare un host generico e un client per UDP WS-Discovery.
  3. Usare il client di debug WSD per verificare il traffico multicast.
  4. Esaminare le tracce di rete per UDP WS-Discovery.
  5. Usare un host generico e un client per lo scambio di metadati HTTP.
  6. Usare la registrazione WinHTTP per verificare Get traffic (Ottieni traffico).
  7. Esaminare le tracce di rete per lo scambio di metadati HTTP.

Verificare che i messaggi Resolve e ResolveMatches vengano generati e soddisfino i requisiti del traffico. Non è necessario cercare i messaggi Probe o ProbeMatches nell'output del client di debug WSD o nelle tracce di rete.

Risoluzione dei problemi dei client che chiamano WSDCreateDeviceProxyAdvanced

Le applicazioni chiamano WSDCreateDeviceProxyAdvanced per creare e inizializzare un'istanza dell'interfaccia IWSDDeviceProxy . A differenza di WSDCreateDeviceProxy, WSDCreateDeviceProxyAdvanced ha un parametro pDeviceAddress usato per definire l'indirizzo di trasporto del dispositivo. Se questo indirizzo di trasporto viene specificato, la risoluzione degli indirizzi logici non è necessaria e i messaggi ResolveMatches e ResolveMatches non vengono generati.

Se pDeviceAddress è impostato su NULL e pszDeviceId è un indirizzo logico, viene richiesta la risoluzione degli indirizzi e vengono generati i messaggi Resolve e ResolveMatches .

Per identificare i problemi relativi a un'applicazione che chiama WSDCreateDeviceProxyAdvanced con un parametro pDeviceAddress diverso da NULL, è necessario usare le procedure di diagnostica seguenti. Queste procedure possono essere usate anche quando pDeviceAddress è NULL e pszDeviceId è un indirizzo fisico.

  1. Esaminare le impostazioni dell'adattatore e del firewall.
  2. Usare un host generico e un client per lo scambio di metadati HTTP.
  3. Usare la registrazione WinHTTP per verificare Get traffic (Ottieni traffico).
  4. Esaminare le tracce di rete per lo scambio di metadati HTTP.

Per identificare i problemi relativi a un'applicazione che chiama WSDCreateDeviceProxyAdvanced con pDeviceAddress impostato su NULL e con pszDeviceId impostato su un indirizzo logico, è necessario usare le procedure di diagnostica seguenti.

  1. Esaminare le impostazioni dell'adattatore e del firewall.
  2. Usare un host generico e un client per UDP WS-Discovery.
  3. Usare il client di debug WSD per verificare il traffico multicast.
  4. Esaminare le tracce di rete per UDP WS-Discovery.
  5. Usare un host generico e un client per lo scambio di metadati HTTP.
  6. Usare la registrazione WinHTTP per verificare Get traffic (Ottieni traffico).
  7. Esaminare le tracce di rete per lo scambio di metadati HTTP.

Verificare che i messaggi Resolve e ResolveMatches vengano generati e soddisfino i requisiti del traffico. Non è necessario cercare i messaggi Probe o ProbeMatches nell'output del client di debug WSD o nelle tracce di rete.

Risoluzione dei problemi dei client che usano l'interfaccia IWSDiscoveryProvider

Le applicazioni che chiamano nell'interfaccia IWSDiscoveryProvider non eseguono lo scambio di metadati. Questa interfaccia viene usata solo per l'individuazione. I modelli di messaggio e le procedure di risoluzione dei problemi sono diversi per ogni metodo chiamato nell'interfaccia IWSDiscoveryProvider .

Quando un'applicazione chiama IWSDiscoveryProvider::SearchByType, viene generato un messaggio probe . Il messaggio probe viene inviato dal multicast UDP alla porta 3702. In risposta viene generato un messaggio ProbeMatches . Il messaggio ProbeMatches viene inviato da UDP unicast e ha origine dalla porta 3702.

Quando un'applicazione chiama IWSDiscoveryProvider::SearchById, viene generato un messaggio resolve . Un messaggio resolve viene inviato dal multicast UDP alla porta 3702. Viene generato un messaggio ResolveMatches in risposta. ResolveMatches viene inviato da UDP unicast e ha origine dalla porta 3702.

Per identificare i problemi con un'applicazione che chiama IWSDiscoveryProvider::SearchByType o IWSDiscoveryProvider::SearchByType o IWSDiscoveryProvider::SearchById, è consigliabile usare le procedure di diagnostica seguenti. Verificare che i messaggi generati dall'API denominata soddisfino i requisiti di traffico.

  1. Esaminare le impostazioni dell'adattatore e del firewall.
  2. Usare un host generico e un client per UDP WS-Discovery.
  3. Usare il client di debug WSD per verificare il traffico multicast.
  4. Esaminare le tracce di rete per UDP WS-Discovery.

Se un'applicazione chiama IWSDiscoveryProvider::SearchByAddress, è un'applicazione di individuazione diretta. Per altre informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi alle applicazioni tramite l'individuazione diretta.

risoluzione dei problemi di Introduzione con WSDAPI