Compartir a través de


Método IUPnPAddressFamilyControl::SetAddressFamily (upnp.h)

El método SetAddressFamily establece la marca de familia de direcciones del objeto Device Finder, que usa esta marca para filtrar los dispositivos encontrados.

La aplicación establece la marca de familia de direcciones antes de iniciar una búsqueda. La aplicación solo se notificará sobre los dispositivos que tienen direcciones IP que son de la familia de direcciones especificada.

Sintaxis

HRESULT SetAddressFamily(
  [in] LONG dwFlags
);

Parámetros

[in] dwFlags

Entero (valor de 4 bytes) que especifica la familia de direcciones que va a usar el objeto Device Finder para filtrar los dispositivos encontrados.

Los valores siguientes son válidos.

Value Significado
UPNP_ADDRESSFAMILY_IPv4
IPv4 (ip versión 4)
UPNP_ADDRESSFAMILY_IPv6
IPv6 (ip versión 6)
UPNP_ADDRESSFAMILY_BOTH
IPv4 e IPv6.

Valor devuelto

Si el método se realiza correctamente, el valor devuelto se S_OK. De lo contrario, el método devuelve uno de los códigos de error COM definidos en WinError.h.

Comentarios

Establecimiento de la marca

La marca de familia de direcciones debe establecerse en el momento adecuado para afectar a la búsqueda:

Filtrado de los dispositivos encontrados

Escenario 1: una aplicación de punto de control establece la marca de familia de direcciones en UPNP_ADDRESSFAMILY_IPV4 y, a continuación, inicia una búsqueda:

  • Si device Finder detecta un dispositivo que tiene una dirección IPv6, Device Finder no notificará a la aplicación del dispositivo. Si el mismo dispositivo adquiere más adelante una dirección IPv4, Device Finder notificará a la aplicación del dispositivo y proporcionará la dirección IPv4.
  • Si device Finder detecta un dispositivo que tiene una dirección IPv4, Device Finder notificará a la aplicación del dispositivo y proporcionará la dirección IPv4. Si el mismo dispositivo adquiere más adelante una dirección IPv6, Device Finder no notificará a la aplicación de la dirección adicional del dispositivo.
  • Si Device Finder detecta un dispositivo que tiene direcciones IPv4 e IPv6, notificará a la aplicación del dispositivo, pero solo proporcionará la dirección IPv4.
  • Si un dispositivo conocido por la aplicación anuncia un cambio de dirección, Device Finder notificará a la aplicación el cambio solo cuando la nueva dirección sea una dirección IPv4.
  • Si un dispositivo que se conoce para la aplicación tiene direcciones IPv4 e IPv6 y Device Finder recibe un mensaje bye bye de la dirección IPv6 del dispositivo, Device Finder notificará a la aplicación aunque la aplicación solo sea consciente de la dirección IPv4. En otras palabras, si un dispositivo que se conoce para la aplicación sale de la red, Device Finder notificará a la aplicación independientemente de la dirección del dispositivo.

Escenario 2: una aplicación establece la marca de familia de direcciones en UPNP_ADDRESSFAMILY_IPV6 y, a continuación, inicia una búsqueda:

  • Se aplica un conjunto similar de reglas como se describe en escenario 1, pero para la familia de direcciones opuestas.

Escenario 3: una aplicación establece la marca de familia de direcciones en UPNP_ADDRESSFAMILY_BOTH y, a continuación, inicia una búsqueda:

  • Si device Finder detecta un dispositivo que tiene una dirección IPv4 o una dirección IPv6, Device Finder notificará a la aplicación del dispositivo y proporcionará la dirección. Si el mismo dispositivo adquiere más adelante una dirección que es de una familia de direcciones diferente, Device Finder no notificará a la aplicación de la dirección adicional del dispositivo.
  • Si Device Finder detecta un dispositivo que tiene direcciones IPv4 e IPv6, notificará a la aplicación del dispositivo, pero solo proporcionará una de las direcciones elegidas aleatoriamente.
  • Si un dispositivo conocido por la aplicación anuncia un cambio de dirección, Device Finder notificará a la aplicación el cambio.
  • Si un dispositivo conocido para la aplicación sale de la red, Device Finder notificará a la aplicación.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado upnp.h
Archivo DLL Upnp.dll

Consulte también

GetAddressFamily

IUPnPAddressFamilyControl