다음을 통해 공유


WSDCreateDeviceHostAdvanced 함수(wsdhost.h)

디바이스 호스트를 만들고 IWSDDeviceHost 인터페이스에 대한 포인터를 반환합니다.

구문

HRESULT WSDCreateDeviceHostAdvanced(
  [in]  LPCWSTR        pszLocalId,
  [in]  IWSDXMLContext *pContext,
  [in]  IWSDAddress    **ppHostAddresses,
  [in]  DWORD          dwHostAddressCount,
  [out] IWSDDeviceHost **ppDeviceHost
);

매개 변수

[in] pszLocalId

디바이스의 논리적 또는 물리적 주소입니다. 논리적 주소는 형식 urn:uuid:{guid}입니다. pszLocalId가 논리적 주소인 경우 호스트는 논리 주소를 알리고 해결 또는 프로브 메시지를 받을 때 주소를 실제 주소로 변환합니다.

pszLocalId가 실제 주소(예: http 또는 https로 접두사로 지정된 URL)인 경우 호스트는 주소를 실제 주소로 사용하고 기본 주소 대신 해당 주소에서 호스트합니다.

보안 통신의 경우 pszLocalId 는 https 접두사 URL이어야 하며 호스트는 URL에 지정된 포트에서 SSL/TLS 프로토콜을 사용합니다. 이 포트는 WSDAPI와의 보안 연결을 위해 예약되어 있으므로 권장 포트는 포트 5358입니다. 포트가 지정되지 않은 경우 호스트는 포트 443을 사용합니다. WSDCreateDeviceHostAdvanced를 호출하기 전에 호스트 포트를 SSL 서버 인증서로 구성해야 합니다. 호스트 포트 구성에 대한 자세한 내용은 HttpSetServiceConfiguration을 참조하세요.

pszLocalId 또는 ppHostAddresses에서 참조하는 전송 주소가 https 접두사가 있는 URL인 경우 두 URL이 모두 동일해야 합니다. 그렇지 않은 경우 WSDCreateDeviceHostAdvanced는 E_INVALIDARG 반환합니다.

모든 URL(http 또는 https)은 후행 슬래시로 종료해야 합니다. URL에는 유효한 IP 주소 또는 호스트 이름이 포함되어야 합니다.

다음 목록에서는 pszLocalId에 대한 몇 가지 예제 값을 보여 줍니다. 유효한 값의 전체 목록이 아닙니다.

  • http://192.168.0.1:5357/
  • http://localhost/
  • http://myHostname:5357/
  • https://192.168.0.1:5358/
  • https://myHostname/
  • https://myHostname/myDevice/
  • https://myHostname:5358/

[in] pContext

사용자 지정 메시지 유형 또는 네임스페이스를 정의하는 IWSDXMLContext 인터페이스입니다.

NULL인 경우 기본 제공 메시지 형식 및 네임스페이스를 나타내는 기본 컨텍스트가 사용됩니다.

[in] ppHostAddresses

단일 IWSDAddress 인터페이스 또는 IWSDTransportAddress 인터페이스입니다. 개체는 호스트가 수신 대기해야 하는 특정 주소에 대한 정보를 제공합니다.

pszLocalId에 논리 주소가 포함된 경우 결과 동작은 논리 주소와 기본 물리적 주소 간의 매핑 대신 논리 주소와 특정 물리적 주소 집합 간의 매핑입니다.

[in] dwHostAddressCount

ppHostAddresses 배열의 항목 수입니다. ppHostAddressesIWSDAddress 인터페이스인 경우 개수는 1이어야 합니다.

[out] ppDeviceHost

들어오는 요청에 응답하는 서버와 연결된 WSD 관련 디바이스 의미 체계를 노출하는 데 사용하는 IWSDDeviceHost 인터페이스에 대한 포인터입니다.

반환 값

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

반환 코드 Description
S_OK
메서드가 성공적으로 완료되었습니다.
E_INVALIDARG
pszLocalIdNULL이며 pszLocalId 의 문자 길이가 WSD_MAX_TEXT_LENGTH(8192)를 초과하거나 pszLocalId 는 https가 접두사로 지정된 URL을 가리키며 해당 URL은 ppHostAddresses에서 참조하는 전송 주소의 URL과 일치하지 않습니다.
E_POINTER
ppDeviceHostNULL입니다.
E_OUTOFMEMORY
메모리가 부족하여 작업을 완료할 수 없습니다.

설명

WSDCreateDeviceHostAdvanced 함수는 IWSDDeviceHost 개체의 instance 초기화하는 IWSDDeviceHost::Init 메서드 를 호출합니다.

요구 사항

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

추가 정보

WSDCreateDeviceHost