다음을 통해 공유


IWSDiscoveryPublisher::P ublish 메서드(wsddisco.h)

Hello 메시지를 보내 네트워크 호스트의 존재를 알릴 수 있습니다.

구문

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
);

매개 변수

[in] pszId

디바이스 엔드포인트 주소로 사용되는 디바이스의 논리적 또는 물리적 주소입니다. 논리적 주소는 형식 urn:uuid:{guid}입니다. 실제 주소는 http 또는 https 접두사로 접두사로 지정된 URI이거나 단순히 에 접두사로 추가된 uriURI일 수 있습니다. 가능하면 논리 주소를 사용합니다.

[in] ullMetadataVersion

현재 메타데이터 버전입니다.

참고WS-Discovery 사양과의 호환성을 위해 이 값은 UINT_MAX(4294967295)보다 작거나 같아야 합니다.
 

[in] ullInstanceId

게시 중인 디바이스의 현재 instance 대한 식별자입니다. 이 식별자는 서비스를 다시 시작할 때마다 증가해야 합니다. instance 식별자에 대한 자세한 내용은 WS-Discovery 사양의 부록 I를 참조하세요.

참고WS-Discovery 사양과의 호환성을 위해 이 값은 UINT_MAX(4294967295)보다 작거나 같아야 합니다.
 

[in] ullMessageNumber

현재 메시지에 대한 instance 식별자의 scope 내 카운터입니다. 메시지 번호는 각 메시지에 대해 증가해야 합니다.

참고WS-Discovery 사양과의 호환성을 위해 이 값은 UINT_MAX(4294967295)보다 작거나 같아야 합니다.
 

[in, optional] pszSessionId

현재 세션에 대한 instance 식별자의 scope 내의 고유 식별자입니다. 이 매개 변수는 프로브 메시지의 AppSequence 블록에 있는 시퀀스 식별자에 해당합니다. 시퀀스 식별자에 대한 자세한 내용은 WS-Discovery 사양의 부록 I를 참조하세요.

이 매개 변수는 NULL일 수 있습니다.

[in, optional] pTypesList

게시 호스트에서 지원하는 형식 목록을 나타내는 WSD_NAME_LIST 구조체에 대한 포인터입니다. NULL일 수 있습니다.

[in, optional] pScopesList

게시 호스트에서 지원하는 일치하는 범위 목록을 나타내는 WSD_URI_LIST 구조체에 대한 포인터입니다. 목록에는 문자열 형식의 해시 값이 포함됩니다. NULL일 수 있습니다.

[in, optional] pXAddrsList

게시 호스트에서 지원하는 전송 주소 목록을 나타내는 WSD_URI_LIST 구조체에 대한 포인터입니다. 각 전송 주소 문자열에는 원격 호스트의 연결에 사용할 수 있는 주소 및 포트 번호가 포함되어 있습니다. NULL일 수 있습니다.

반환 값

가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.
E_INVALIDARG
다음 조건 중 하나 이상이 true입니다.
  • pszIdNULL입니다.
  • pszId의 문자 길이가 WSD_MAX_TEXT_LENGTH(8192)를 초과합니다.
  • pszSessionId의 문자 길이가 WSD_MAX_TEXT_LENGTH(8192)를 초과합니다.
HRESULT_FROM_WIN32(ERROR_NO_CALLBACK_ACTIVE)
등록된 알림 싱크가 없습니다. 싱크를 연결하려면 RegisterNotificationSink를 호출합니다.
E_ABORT
게시자가 시작되지 않았습니다. 알림 싱크를 연결하면 게시자가 시작됩니다. 싱크를 연결하려면 RegisterNotificationSink를 호출합니다.
E_OUTOFMEMORY
메모리가 부족하여 작업을 완료할 수 없습니다.

설명

성공하면 게시 가 제공된 정보와 함께 로컬 서브넷에 WS-Discovery Hello 메시지를 보냅니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wsddisco.h(Wsdapi.h 포함)
DLL Wsdapi.dll

추가 정보

IWSDiscoveryPublisher