Condividi tramite


Metodo IUPnPAddressFamilyControl::SetAddressFamily (upnp.h)

Il metodo SetAddressFamily imposta il flag della famiglia di indirizzi dell'oggetto Device Finder, che usa questo flag per filtrare i dispositivi trovati.

L'applicazione imposta il flag della famiglia di indirizzi prima di avviare una ricerca. L'applicazione riceverà una notifica solo sui dispositivi con indirizzi IP della famiglia di indirizzi specificata.

Sintassi

HRESULT SetAddressFamily(
  [in] LONG dwFlags
);

Parametri

[in] dwFlags

Intero (valore a 4 byte) che specifica la famiglia di indirizzi da utilizzare dall'oggetto Device Finder per filtrare i dispositivi trovati.

I valori seguenti sono validi.

valore Significato
UPNP_ADDRESSFAMILY_IPv4
IPv4 (IP versione 4)
UPNP_ADDRESSFAMILY_IPv6
IPv6 (IP versione 6)
UPNP_ADDRESSFAMILY_BOTH
IPv4 e IPv6

Valore restituito

Se il metodo ha esito positivo, il valore restituito viene S_OK. In caso contrario, il metodo restituisce uno dei codici di errore COM definiti in WinError.h.

Commenti

Impostazione del flag

Il flag della famiglia di indirizzi deve essere impostato al momento appropriato per influire sulla ricerca:

Filtro dei dispositivi trovati

Scenario 1: un'applicazione del punto di controllo imposta il flag della famiglia di indirizzi su UPNP_ADDRESSFAMILY_IPV4 e quindi avvia una ricerca:

  • Se il Ricerca dispositivi individua un dispositivo con un indirizzo IPv6, Device Finder non notifica l'applicazione del dispositivo. Se lo stesso dispositivo acquisisce in un secondo momento un indirizzo IPv4, Device Finder notifica all'applicazione del dispositivo e fornisce l'indirizzo IPv4.
  • Se il Ricerca dispositivi individua un dispositivo con un indirizzo IPv4, Device Finder invia una notifica all'applicazione del dispositivo e fornisce l'indirizzo IPv4. Se lo stesso dispositivo acquisisce in un secondo momento un indirizzo IPv6, Device Finder non notifica all'applicazione dell'indirizzo aggiuntivo del dispositivo.
  • Se Device Finder individua un dispositivo con indirizzi IPv4 e IPv6, invia una notifica all'applicazione del dispositivo, ma fornirà solo l'indirizzo IPv4.
  • Se un dispositivo noto all'applicazione annuncia una modifica dell'indirizzo, Device Finder informerà l'applicazione della modifica solo quando il nuovo indirizzo è un indirizzo IPv4.
  • Se un dispositivo noto all'applicazione ha indirizzi IPv4 e IPv6 e Device Finder riceve un messaggio bye bye dall'indirizzo IPv6 del dispositivo, Device Finder invia una notifica all'applicazione anche se l'applicazione è a conoscenza solo dell'indirizzo IPv4. In altre parole, se un dispositivo noto all'applicazione lascia la rete, Device Finder informerà l'applicazione indipendentemente dall'indirizzo del dispositivo.

Scenario 2: un'applicazione imposta il flag della famiglia di indirizzi su UPNP_ADDRESSFAMILY_IPV6 e quindi avvia una ricerca:

  • Un set di regole simile si applica come descritto nello scenario 1, ma per la famiglia di indirizzi opposta.

Scenario 3: un'applicazione imposta il flag della famiglia di indirizzi su UPNP_ADDRESSFAMILY_BOTH e quindi avvia una ricerca:

  • Se Il Ricerca dispositivi individua un dispositivo con un indirizzo IPv4 o un indirizzo IPv6, Device Finder insecherà all'applicazione il dispositivo e fornirà l'indirizzo. Se lo stesso dispositivo acquisisce in un secondo momento un indirizzo di una famiglia di indirizzi diversa, Device Finder non notifica all'applicazione l'indirizzo aggiuntivo del dispositivo.
  • Se Device Finder individua un dispositivo con indirizzi IPv4 e IPv6, notifica all'applicazione del dispositivo, ma fornisce solo uno degli indirizzi scelti in modo casuale.
  • Se un dispositivo noto all'applicazione annuncia una modifica dell'indirizzo, Device Finder informerà l'applicazione della modifica.
  • Se un dispositivo noto all'applicazione lascia la rete, Device Finder invia una notifica all'applicazione.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione upnp.h
DLL Upnp.dll

Vedi anche

GetAddressFamily

IUPnPAddressFamilyControl