SimpleThermostat_WSD 1 SimpleThermostat.wsdl Microsoft http://www.microsoft.com WSD Simple Thermostat Device 1000 http://www.example.com/SimpleThermostat1000 HomeAutomation.Thermostat http://www.example.com/ncd/Thermostat/:SimpleThermostat_WSD uri:MySimpleThermostat_WSDService PnPX_SimpleThermostat_HWID PnPX_SimpleThermostat_CPID ISimpleThermostat_WSD http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD wsdapi.h SimpleThermostat_WSD.h SimpleThermostat_WSDTypes.h http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD True oaidl.idl ocidl.idl wsdattachment.idl wsdclient.idl wsdhost.idl SimpleThermostat_WSDTypes.h http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD GetCurrentTemp GetDesiredTemp CSimpleThermostat_WSDProxy http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD GetCurrentTemp GetDesiredTemp wsdapi.h SimpleThermostat_WSD.h SimpleThermostat_WSDTypes.h SimpleThermostat_WSDProxy.h http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD CSimpleThermostat_WSDProxy Release(); m_genericProxy = NULL; } }; HRESULT STDMETHODCALLTYPE CSimpleThermostat_WSDProxy::Init( /* [in] */ IWSDServiceProxy* pIWSDServiceProxy ) { if( NULL == pIWSDServiceProxy ) { return E_INVALIDARG; } m_genericProxy = pIWSDServiceProxy; m_genericProxy->AddRef(); return S_OK; } ]]> CSimpleThermostat_WSDProxy m_cRef ISimpleThermostat_WSD ISimpleThermostat_WSDProxy http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD CSimpleThermostat_WSDProxy http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD CSimpleThermostat_WSDProxy GetCurrentTemp GetDesiredTemp wsdapi.h SimpleThermostat_WSD.h SimpleThermostat_WSDTypes.h uri:MySimpleThermostat_WSDService SimpleThermostat_WSD ISimpleThermostat_WSD http://www.example.com/ncd/Thermostat/SimpleThermostat_WSD ISimpleThermostat_WSD WSDFreeLinkedMemory