WSDAPI 인터페이스 개요
WSDAPI(Web Services on Devices API)는 디바이스를 찾고 액세스하는 클라이언트 애플리케이션을 개발하고 Windows Vista 및 Windows Server 2008에서 실행되는 디바이스 호스트 및 관련 서비스를 개발하는 데 사용됩니다. 함수 검색 API 및 WsdCodeGen 도구는 클라이언트, 디바이스 호스트 및 서비스 개발에 사용할 수 있는 추가 도구입니다. WSDAPI 인터페이스를 직접 사용하여 고급 기능을 노출할 수 있습니다.
주요 WSDAPI 인터페이스
4가지 주요 WSDAPI 인터페이스는 IWSDiscoveryProvider, IWSDiscoveryPublisher, IWSDDeviceProxy 및 IWSDDeviceHost입니다. 모든 WSDAPI 인터페이스 목록은 디바이스 인터페이스의 웹 서비스를 참조하세요.
IWSDiscoveryProvider
IWSDiscoveryProvider 는 클라이언트에서 WS-Discovery 기능을 구현하는 데 사용됩니다.
IWSDiscoveryProvider 는 WS-Discovery 프로브 및 해결 메시지를 발급하고 Hello, Bye, ProbeMatches 및 ResolveMatches 메시지를 받습니다. 특정 DPWS 디바이스를 설명하고 제어하는 데 사용되는 IWSDDeviceProxy 인터페이스를 만들 때 IWSDiscoveryProvider 인터페이스를 통해 검색된 정보를 사용합니다.
디바이스 프록시를 만들기 전에 특정 DPWS 디바이스 주소를 확인하는 경우 IWSDiscoveryProvider 인터페이스가 필요하지 않습니다. WSDCreateDeviceProxy는 필요한 경우 디바이스 주소를 자동으로 resolve.
함수 검색 API는 API가 다른 프로토콜을 사용하여 DPWS 디바이스 및 디바이스를 검색할 수 있으므로 일반 디바이스 및 서비스 검색에 사용할 수 있습니다. 일반 검색 애플리케이션을 작성할 때 함수 검색을 사용하는 것이 좋습니다.
IWSDiscoveryPublisher
IWSDiscoveryPublisher 는 디바이스와 같은 대상 서비스에서 WS-Discovery 기능을 구현하는 데 사용됩니다.
IWSDiscoveryPublisher 를 사용하면 애플리케이션이 WS-Discovery Hello 및 Bye 메시지를 사용하여 현재 상태를 게시할 수 있습니다. 이 인터페이스를 사용하면 애플리케이션이 프로브 및 해결 요청을 수신하고 ProbeMatches 및 ResolveMatches 응답을 생성하고 보낼 수 있습니다.
IWSDDeviceHost 개체의 존재를 게시하기만 하면 IWSDiscoveryPublisher 인터페이스가 필요하지 않습니다. IWSDDeviceHost 는 자체 WS-Discovery 현재 상태를 관리합니다.
IWSDDeviceProxy
IWSDDeviceProxy 는 클라이언트 쪽 WS-Discovery, WS-MetadataExchange 및 제어 기능을 구현하는 데 사용됩니다. 이 기능에는 선택적 보안 채널, WS-Eventing 및 첨부 파일 기능이 포함됩니다.
IWSDDeviceProxy 인터페이스에는 다음과 같은 세 가지 용도가 있습니다.
- 필요한 경우 논리 디바이스 주소를 확인합니다.
- 서비스의 유형과 주소를 열거하기 위해 디바이스에 대한 메타데이터 요청을 시작합니다.
- 디바이스의 특정 서비스에 제어 메시지를 발급하는 데 사용할 수 있는 IWSDServiceProxy 개체의 원본을 제공합니다.
IWSDDeviceProxy 개체는 일반적으로 WsdCodeGen에서 생성된 코드 내에서 완전히 만들어지고 사용됩니다.
IWSDDeviceHost
IWSDDeviceHost 는 디바이스 쪽 WS-Discovery, WS-MetadataExchange 및 서비스 호스팅 기능을 구현하는 데 사용됩니다. 호스트된 서비스는 제어 메시지에 응답할 수 있으며 보안 채널, WS-Eventing 및 첨부 파일 기능을 지원할 수 있습니다.
IWSDDeviceHost 인터페이스에는 다음과 같은 용도가 있습니다.
- 서비스 개체를 호스트합니다.
- WS-Discovery를 사용하여 네트워크에 디바이스 호스트가 있는지 알릴 수 있습니다.
- WS-MetadataExchange 요청에 응답하고 호스트된 서비스의 유형과 위치를 설명합니다.
- 네트워크 요청을 서비스 개체로 디스패치합니다.
WS-Discovery, WS-MetadataExchange 및 WS-Eventing 구독 관리 기능은 디바이스 호스트 개체 내에서 완전히 처리됩니다. 서비스가 디바이스 호스트 내에서 호스트되기 전에 다음 요구 사항을 충족해야 합니다.
- 호스트는 WSDCreateDeviceHost를 호출하여 만들어야 합니다.
- 서비스와 연결된 메타데이터를 등록해야 합니다.
- 서비스 자체를 등록해야 합니다.
- 디바이스 호스트를 시작해야 합니다.
IWSDDeviceHost 개체는 일반적으로 WsdCodeGen에서 생성된 코드 내에서 만들어지고 사용됩니다.