1*25c7e1a8SPierre Schweitzer /* 2*25c7e1a8SPierre Schweitzer vfdshcfact.h 3*25c7e1a8SPierre Schweitzer 4*25c7e1a8SPierre Schweitzer Virtual Floppy Drive for Windows 5*25c7e1a8SPierre Schweitzer Driver control library 6*25c7e1a8SPierre Schweitzer shell extension COM class-factory class header 7*25c7e1a8SPierre Schweitzer 8*25c7e1a8SPierre Schweitzer Copyright (c) 2003-2005 Ken Kato 9*25c7e1a8SPierre Schweitzer */ 10*25c7e1a8SPierre Schweitzer 11*25c7e1a8SPierre Schweitzer #ifndef _VFDSHCFACT_H_ 12*25c7e1a8SPierre Schweitzer #define _VFDSHCFACT_H_ 13*25c7e1a8SPierre Schweitzer 14*25c7e1a8SPierre Schweitzer // 15*25c7e1a8SPierre Schweitzer // CVfdFactory 16*25c7e1a8SPierre Schweitzer // class factory class to create the COM shell extension object 17*25c7e1a8SPierre Schweitzer // 18*25c7e1a8SPierre Schweitzer class CVfdFactory : public IClassFactory 19*25c7e1a8SPierre Schweitzer { 20*25c7e1a8SPierre Schweitzer protected: 21*25c7e1a8SPierre Schweitzer ULONG m_cRefCnt; // Reference count to the object 22*25c7e1a8SPierre Schweitzer 23*25c7e1a8SPierre Schweitzer public: 24*25c7e1a8SPierre Schweitzer // Constructor 25*25c7e1a8SPierre Schweitzer CVfdFactory(); 26*25c7e1a8SPierre Schweitzer 27*25c7e1a8SPierre Schweitzer // Destructor 28*25c7e1a8SPierre Schweitzer ~CVfdFactory(); 29*25c7e1a8SPierre Schweitzer 30*25c7e1a8SPierre Schweitzer // IUnknown inheritance 31*25c7e1a8SPierre Schweitzer STDMETHODIMP QueryInterface(REFIID, LPVOID *); 32*25c7e1a8SPierre Schweitzer STDMETHODIMP_(ULONG) AddRef(); 33*25c7e1a8SPierre Schweitzer STDMETHODIMP_(ULONG) Release(); 34*25c7e1a8SPierre Schweitzer 35*25c7e1a8SPierre Schweitzer // IClassFactory inheritance 36*25c7e1a8SPierre Schweitzer STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *); 37*25c7e1a8SPierre Schweitzer STDMETHODIMP LockServer(BOOL); 38*25c7e1a8SPierre Schweitzer }; 39*25c7e1a8SPierre Schweitzer 40*25c7e1a8SPierre Schweitzer typedef CVfdFactory *LPCVFDFACTORY; 41*25c7e1a8SPierre Schweitzer 42*25c7e1a8SPierre Schweitzer #endif // _VFDSHCFACT_H_ 43