home *** CD-ROM | disk | FTP | other *** search
/ ActiveX Programming Unleashed CD / AXU.iso / source / chap03 / lst31 / lstr.h < prev   
Encoding:
C/C++ Source or Header  |  1996-09-23  |  985 b   |  54 lines

  1.  
  2. #ifndef LOWERSTR_H
  3. #define LOWERSTR_H
  4.  
  5. #include <objbase.h>
  6. #include "guid.h"
  7.  
  8.  
  9. class ILowerStr    : public IUnknown
  10. {
  11. public:
  12.     virtual STDMETHODIMP  Lower(char *lpInput, char**lpOutput) = 0;
  13. };
  14.  
  15.  
  16. class CLowerStr : public ILowerStr 
  17. {
  18. public:
  19.     STDMETHODIMP QueryInterface(REFIID iid, LPVOID *ppv);
  20.     STDMETHODIMP_(ULONG) AddRef();
  21.     STDMETHODIMP_(ULONG) Release();
  22.  
  23.     STDMETHODIMP Lower(char *lpString, char**lpOutput);
  24.  
  25.     CLowerStr();
  26.     ~CLowerStr();
  27.  
  28. private:
  29.     DWORD m_dwRef;
  30. };
  31.  
  32. class CLowerStrClassFactory:public IClassFactory
  33. {
  34.  
  35.   protected:
  36.     DWORD m_dwRef;
  37.  
  38.   
  39.   public:
  40.    CLowerStrClassFactory(void);
  41.    ~CLowerStrClassFactory(void);
  42.  
  43. //IUnknown
  44.    STDMETHODIMP QueryInterface (REFIID iid ,void **ppv);
  45.    STDMETHODIMP_ (ULONG) AddRef(void);
  46.    STDMETHODIMP_ (ULONG) Release(void);
  47.  
  48.    STDMETHODIMP CreateInstance(IUnknown *punkOuter,REFIID iid,void **ppv);
  49.    STDMETHODIMP LockServer(BOOL);
  50. };
  51.  
  52. #endif
  53.  
  54.