Compartir a través de


Método IWSDiscoveryPublisher::P ublishEx (wsddisco.h)

Anuncia la presencia de un host de red enviando un mensaje Hello con información extendida.

Sintaxis

HRESULT PublishEx(
  [in]           LPCWSTR              pszId,
  [in]           ULONGLONG            ullMetadataVersion,
  [in]           ULONGLONG            ullInstanceId,
  [in]           ULONGLONG            ullMessageNumber,
  [in, optional] LPCWSTR              pszSessionId,
  [in, optional] const WSD_NAME_LIST  *pTypesList,
  [in, optional] const WSD_URI_LIST   *pScopesList,
  [in, optional] const WSD_URI_LIST   *pXAddrsList,
  [in, optional] const WSDXML_ELEMENT *pHeaderAny,
  [in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,
  [in, optional] const WSDXML_ELEMENT *pPolicyAny,
  [in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,
  [in, optional] const WSDXML_ELEMENT *pAny
);

Parámetros

[in] pszId

Dirección lógica o física del dispositivo, que se usa como dirección del punto de conexión del dispositivo. Una dirección lógica tiene el formato urn:uuid:{guid}. Una dirección física puede ser un URI prefijo por http o https, o simplemente un URI prefijo por uri. Siempre que sea posible, use una dirección lógica.

[in] ullMetadataVersion

Versión actual de metadatos.

Nota Para la compatibilidad con la especificación WS-Discovery, este valor debe ser menor o igual que UINT_MAX (4294967295).
 

[in] ullInstanceId

Identificador de la instancia actual del dispositivo que se está publicando. Este identificador debe incrementarse cada vez que se reinicie el servicio. Para obtener más información sobre los identificadores de instancia, consulte el Apéndice I de la especificación WS-Discovery.

Nota Para la compatibilidad con la especificación WS-Discovery, este valor debe ser menor o igual que UINT_MAX (4294967295).
 

[in] ullMessageNumber

Contador dentro del ámbito del identificador de instancia del mensaje actual. El número de mensaje debe incrementarse para cada mensaje.

Nota Para la compatibilidad con la especificación WS-Discovery, este valor debe ser menor o igual que UINT_MAX (4294967295).
 

[in, optional] pszSessionId

Identificador único dentro del ámbito del identificador de instancia de la sesión actual. Este parámetro corresponde al identificador de secuencia del bloque AppSequence en el mensaje de sondeo. Para obtener más información sobre los identificadores de secuencia, vea el Apéndice I de la especificación WS-Discovery.

Este parámetro puede ser NULL.

[in, optional] pTypesList

Puntero a una estructura de WSD_NAME_LIST que representa la lista de tipos admitidos por el host de publicación. Puede ser NULL.

[in, optional] pScopesList

Puntero a una estructura de WSD_URI_LIST que representa la lista de ámbitos coincidentes admitidos por el host de publicación. La lista contiene valores hash en forma de cadena. Puede ser NULL.

[in, optional] pXAddrsList

Puntero a una estructura de WSD_URI_LIST que representa la lista de direcciones de transporte admitidas por el host de publicación. Cada cadena de dirección de transporte contiene una dirección y un número de puerto que un host remoto puede usar para la conexión. Puede ser NULL.

[in, optional] pHeaderAny

Puntero a una estructura de WSDXML_ELEMENT que contiene un elemento XML que se va a insertar en la sección "ANY" del encabezado.

[in, optional] pReferenceParameterAny

Puntero a una estructura de WSDXML_ELEMENT que contiene un elemento XML que se va a insertar en la sección "ANY" de las propiedades del parámetro de referencia.

[in, optional] pPolicyAny

No se usa.

[in, optional] pEndpointReferenceAny

Puntero a una estructura de WSDXML_ELEMENT que contiene un elemento XML que se va a insertar en la sección "ANY" del punto de conexión.

[in, optional] pAny

Puntero a una estructura de WSDXML_ELEMENT que contiene un elemento XML que se va a insertar en la sección "ANY" del cuerpo del mensaje.

Valor devuelto

Entre los valores devueltos posibles se incluyen, entre otros, los siguientes:

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_INVALIDARG
Una o varias de las siguientes condiciones son verdaderas:
  • pszId es NULL.
  • La longitud en caracteres de pszId supera WSD_MAX_TEXT_LENGTH (8192).
  • La longitud en caracteres de pszSessionId supera WSD_MAX_TEXT_LENGTH (8192).
HRESULT_FROM_WIN32(ERROR_NO_CALLBACK_ACTIVE)
No hay ningún receptor de notificaciones registrado. Para adjuntar un receptor, llame a RegisterNotificationSink.
E_ABORT
No se ha iniciado el publicador. La asociación de un receptor de notificaciones inicia el publicador. Para adjuntar un receptor, llame a RegisterNotificationSink.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.

Observaciones

Si se ejecuta correctamente, PublishEx enviará un mensaje de WS-Discovery Hello a la subred local con la información proporcionada.

Los parámetros que hacen referencia a WSDXML_ELEMENT estructuras se pueden usar para ampliar el contenido del mensaje Hello que se envía con información personalizada.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wsdisco.h (incluya Wsdapi.h)
Archivo DLL Wsdapi.dll

Consulte también

IWSDiscoveryPublisher