Rob, I did not grasp what you meant by this. The examples I looked at
to set this up seem to do the way I coded it.
Jeff
Robert Shearman wrote:
Jeff Latimer wrote:
+ DWORD runObjTabRegister; /* registration key of the next
registered object */
+ DWORD currentPos; /* enum position in the
list */
+
+} EnumMonikerImpl;
+
+
+/* IEnumMoniker prototype functions : */
+/* IUnknown functions*/
+static HRESULT WINAPI EnumMonikerImpl_QueryInterface(IEnumMoniker*
iface,REFIID riid,void** ppvObject);
+static ULONG WINAPI EnumMonikerImpl_AddRef(IEnumMoniker* iface);
+static ULONG WINAPI EnumMonikerImpl_Release(IEnumMoniker* iface);
+/* IEnumMoniker functions */
+static HRESULT WINAPI EnumMonikerImpl_Next(IEnumMoniker* iface,
ULONG celt, IMoniker** rgelt, ULONG* pceltFetched);
+static HRESULT WINAPI EnumMonikerImpl_Skip(IEnumMoniker* iface,
ULONG celt);
+static HRESULT WINAPI EnumMonikerImpl_Reset(IEnumMoniker* iface);
+static HRESULT WINAPI EnumMonikerImpl_Clone(IEnumMoniker* iface,
IEnumMoniker** ppenum);
If you put the vtable after the implementations of the functions then
you don't need to declare the prototypes here.
+
+/* Virtual function table for the IEnumMoniker class. */
+static IEnumMonikerVtbl VT_EnumMonikerImpl =
+{
+ EnumMonikerImpl_QueryInterface,
+ EnumMonikerImpl_AddRef,
+ EnumMonikerImpl_Release,
+ EnumMonikerImpl_Next,
+ EnumMonikerImpl_Skip,
+ EnumMonikerImpl_Reset,
+ EnumMonikerImpl_Clone
+};
+
/***********************************************************************
- Re: Implementation of EnumMoniker and Partial impl on MkPar... Jeff Latimer
-