#ifndef _MD_COIMP_ #define _MD_COIMP_ extern ULONG g_dwRefCount; //DEFINE_GUID(CLSID_MSIisBl, 0xa9da4430, 0x65c5, 0x11d1, 0xa7, 0x0, 0x0,0xa0, 0xc9, 0x22, 0xe7, 0x52); class CIisLb : public IMSIisLb { public: CIisLb(); ~CIisLb(); HRESULT _stdcall QueryInterface(REFIID riid, void **ppObject); ULONG _stdcall AddRef(); ULONG _stdcall Release(); HRESULT STDMETHODCALLTYPE Terminate( void ); HRESULT STDMETHODCALLTYPE GetIpList( /*[in]*/ DWORD dwBufferSize, /*[out, size_is(dwBufferSize)]*/ unsigned char *pbBuffer, /*[out]*/ DWORD *pdwMDRequiredBufferSize ); HRESULT STDMETHODCALLTYPE SetIpList( /*[in]*/ DWORD dwBufferSize, /*[in, size_is(dwBufferSize)]*/ unsigned char *pbBuffer ); HRESULT STDMETHODCALLTYPE GetPerfmonCounters( /*[in]*/ DWORD dwBufferSize, /*[out, size_is(dwBufferSize)]*/ unsigned char *pbBuffer, /*[out]*/ DWORD *pdwMDRequiredBufferSize ); HRESULT STDMETHODCALLTYPE SetPerfmonCounters( /*[in]*/ DWORD dwBufferSize, /*[in, size_is(dwBufferSize)]*/ unsigned char *pbBuffer ); HRESULT STDMETHODCALLTYPE GetStickyDuration( /*[out]*/ LPDWORD pdwStickyDuration ); HRESULT STDMETHODCALLTYPE SetStickyDuration( /*[in]*/ DWORD dwStickyDuration ); HRESULT STDMETHODCALLTYPE GetIpEndpointList( /*[in]*/ DWORD dwBufferSize, /*[out, size_is(dwBufferSize)]*/ unsigned char *pbBuffer, /*[out]*/ DWORD *pdwMDRequiredBufferSize ); HRESULT STDMETHODCALLTYPE SetDriverState( /*[in]*/ DWORD dwState ); private: ULONG m_dwRefCount; }; class CIisLbSrvFactory : public IClassFactory { public: CIisLbSrvFactory(); ~CIisLbSrvFactory(); HRESULT _stdcall QueryInterface(REFIID riid, void** ppObject); ULONG _stdcall AddRef(); ULONG _stdcall Release(); HRESULT _stdcall CreateInstance(IUnknown *pUnkOuter, REFIID riid, void ** pObject); HRESULT _stdcall LockServer(BOOL fLock); private: ULONG m_dwRefCount; }; #include "bootexp.hxx" #endif