Compartir a través de


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

Anuncia la presencia de un host de red enviando un mensaje Hello .

Sintaxis

HRESULT Publish(
  [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
);

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.

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.

Comentarios

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

Requisitos

Requisito Value
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