FileService 1 FileService.wsdl Microsoft Corporation http://www.microsoft.com Microsoft FileService Device Emulator MFSDE-0001 http://www.microsoft.com http://www.example.org/ncd/FileService/:FileDevice http://www.example.org/ncd/FileService/FileDevice http://www.example.com/ncd/FileService/:FileService http://www.example.com/ncd/FileService/FileService0 IFileService http://www.example.com/ncd/FileService/FileService http://www.example.com/ncd/FileService/FileService FileChangeEvent wsdapi.h FileService.h FileServiceTypes.h http://www.example.com/ncd/FileService/FileService True True True oaidl.idl ocidl.idl wsdattachment.idl wsdclient.idl wsdhost.idl FileServiceTypes.h http://www.example.com/ncd/FileService/FileService http://www.example.com/ncd/FileService/FileService GetFileList GetFile IFileServiceEventNotify http://www.example.com/ncd/FileService/FileService FileChangeEvent http://www.example.com/ncd/FileService/FileService CFileServiceProxy http://www.example.com/ncd/FileService/FileService http://www.example.com/ncd/FileService/FileService GetFileList GetFile http://www.example.com/ncd/FileService/FileService IFileServiceEventNotify CFileServiceEventSource http://www.example.com/ncd/FileService/FileService wsdapi.h FileService.h FileServiceTypes.h FileServiceProxy.h http://www.example.com/ncd/FileService/FileService CFileServiceProxy Release(); m_genericProxy = NULL; } }; HRESULT STDMETHODCALLTYPE CFileServiceProxy::Init( /* [in] */ IWSDServiceProxy* pIWSDServiceProxy ) { if( NULL == pIWSDServiceProxy ) { return E_INVALIDARG; } m_genericProxy = pIWSDServiceProxy; m_genericProxy->AddRef(); return S_OK; } ]]> CFileServiceProxy m_cRef IFileService IFileServiceProxy http://www.example.com/ncd/FileService/FileService CFileServiceProxy http://www.example.com/ncd/FileService/FileService CFileServiceProxy GetFileList GetFile http://www.example.com/ncd/FileService/FileService CFileServiceProxy IFileServiceEventNotify CFileServiceEventSource Release(); m_host = NULL; } }; HRESULT STDMETHODCALLTYPE CFileServiceEventSource::Init( /* [in] */ IWSDDeviceHost* pIWSDDeviceHost, /* [in] */ const WCHAR* serviceId ) { if( NULL == pIWSDDeviceHost ) { return E_INVALIDARG; } m_serviceId = serviceId; m_host = pIWSDDeviceHost; m_host->AddRef(); return S_OK; } ]]> CFileServiceEventSource m_cRef IFileServiceEventNotify http://www.example.com/ncd/FileService/FileService CFileServiceEventSource wsdapi.h FileService.h FileServiceTypes.h http://www.example.com/ncd/FileService/FileService0 FileService IFileService http://www.example.com/ncd/FileService/FileService IFileService WSDFreeLinkedMemory http://www.example.com/ncd/FileService/FileService IFileServiceEventNotify WSDFreeLinkedMemory