Add Dirk Luetjen's ssphys libraries and command-line tool
[vss2svn.git] / ssphys / SSAPI / VSSVersions.h
blob4442309d3571d3f2b22587a3cac54350d6a91457
1 // VSSVersions.h : Declaration of the CVSSVersions
3 #ifndef __VSSVERSIONS_H_
4 #define __VSSVERSIONS_H_
6 #include "resource.h" // main symbols
7 //#import "C:\WINDOWS\system32\Stdole2.tlb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
9 /////////////////////////////////////////////////////////////////////////////
10 // CVSSVersions
11 class ATL_NO_VTABLE CVSSVersions :
12 public CComObjectRootEx<CComSingleThreadModel>,
13 public CComCoClass<CVSSVersions, &CLSID_VSSVersions>,
14 public IDispatchImpl<IVSSVersions, &IID_IVSSVersions, &LIBID_SourceSafeTypeLib>,
15 public IEnumVARIANT
17 public:
18 CVSSVersions()
22 DECLARE_REGISTRY_RESOURCEID(IDR_VSSVERSIONS)
24 DECLARE_PROTECT_FINAL_CONSTRUCT()
26 BEGIN_COM_MAP(CVSSVersions)
27 COM_INTERFACE_ENTRY(IVSSVersions)
28 COM_INTERFACE_ENTRY(IEnumVARIANT)
29 COM_INTERFACE_ENTRY(IDispatch)
30 END_COM_MAP()
32 public:
33 // IVSSVersions
34 STDMETHOD(_NewEnum)(IUnknown * * ppIEnum);
36 // IEnumVARIANT
37 STDMETHOD(Next)(ULONG celt, VARIANT * rgvar, ULONG * pceltFetched)
39 if (pceltFetched == NULL)
40 return E_POINTER;
42 return E_NOTIMPL;
44 STDMETHOD(Skip)(ULONG celt)
46 return E_NOTIMPL;
48 STDMETHOD(Reset)()
50 return E_NOTIMPL;
52 STDMETHOD(Clone)(IEnumVARIANT * * ppenum)
54 if (ppenum == NULL)
55 return E_POINTER;
57 return E_NOTIMPL;
61 #endif //__VSSVERSIONS_H_