home *** CD-ROM | disk | FTP | other *** search
- /*
- * IDISPAT.CPP
- *
- * Template IDispatch interface implementation.
- *
- * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
- *
- * Kraig Brockschmidt, Microsoft
- * Internet : kraigb@microsoft.com
- * Compuserve: >INTERNET:kraigb@microsoft.com
- */
-
-
- #include "idispat.h"
-
-
- /*
- * CImpIDispatch::CImpIDispatch
- * CImpIDispatch::~CImpIDispatch
- *
- * Parameters (Constructor):
- * pObj LPVOID of the object we're in.
- * pUnkOuter LPUNKNOWN to which we delegate.
- */
-
- CImpIDispatch::CImpIDispatch(LPVOID pObj
- , LPUNKNOWN pUnkOuter)
- {
- m_cRef=0;
- m_pObj=pObj;
- m_pUnkOuter=pUnkOuter;
- return;
- }
-
- CImpIDispatch::~CImpIDispatch(void)
- {
- return;
- }
-
-
-
- /*
- * CImpIDispatch::QueryInterface
- * CImpIDispatch::AddRef
- * CImpIDispatch::Release
- *
- * Purpose:
- * Delegating IUnknown members for CImpIDispatch.
- */
-
- STDMETHODIMP CImpIDispatch::QueryInterface(REFIID riid
- , LPVOID *ppv)
- {
- return m_pUnkOuter->QueryInterface(riid, ppv);
- }
-
- STDMETHODIMP_(ULONG) CImpIDispatch::AddRef(void)
- {
- ++m_cRef;
- return m_pUnkOuter->AddRef();
- }
-
- STDMETHODIMP_(ULONG) CImpIDispatch::Release(void)
- {
- --m_cRef;
- return m_pUnkOuter->Release();
- }
-
-
-
-
- /*
- * CImpIDispatch::GetTypeInfoCount
- *
- * Purpose:
- * Returns the number of tyep information (ITypeInfo) interfaces
- * that the object provides (0 or 1).
- *
- * Parameters:
- * pctInfo UINT * to the location to receive
- * the count of interfaces.
- */
-
- STDMETHODIMP CImpIDispatch::GetTypeInfoCount(UINT *pctInfo)
- {
- return ResultFromScode(E_NOTIMPL);
- }
-
-
-
-
- /*
- * CImpIDispatch::GetTypeInfo
- *
- * Purpose:
- * Retrieves type information for the automation interface.
- *
- * Parameters:
- * itinfo UINT reserved. Must be zero.
- * lcid LCID providing the locale for the type
- * information. If the object does not support
- * localization, this is ignored.
- * pptinfo ITypeInfo ** in which to store the ITypeInfo
- * interface for the object.
- */
-
- STDMETHODIMP CImpIDispatch::GetTypeInfo(UINT itinfo
- , LCID lcid, ITypeInfo **pptInfo)
- {
- return ResultFromScode(E_NOTIMPL);
- }
-
-
-
-
-
- /*
- * CImpIDispatch::GetIDsOfNames
- *
- * Purpose:
- *
- * Parameters:
- * riid REFIID reserved. Must be NULL.
- * rgszNames OLECHAR ** pointing to the array of names to b
- * mapped.
- * cNames UINT number of names to be mapped.
- * lcid LCID of the locale.
- * rgDispID DISPID * caller allocated array containing IDs
- * corresponginf to those names in rgszNames.
- */
-
- STDMETHODIMP CImpIDispatch::GetIDsOfNames(REFIID riid
- , OLECHAR **rgszNames, UINT cNames, LCID lcid
- , DISPID *rgDispID)
- {
- return ResultFromScode(E_NOTIMPL);
- }
-
-
-
-
- /*
- * CImpIDispatch::Invoke
- *
- * Purpose:
- *
- * Parameters:
- * dispIDMember DISPID of the method to invoke.
- * riid REFIID reserved, must be NULL.
- * lcid LCID of the locale.
- * wFlags USHORT describing the context of the invocation.
- * pDispParams DISPPARAMS * to the array of arguments.
- * pVarResult VARIANT * in which to store the result. Is
- * NULL if the caller is not interested.
- * pExcepInfo EXCEPINFO * to exception information.
- * puArgErr UINT * in which to store the index of an
- * invalid parameter if DISP_E_TYPEMISMATCH
- * is returned.
- */
-
- STDMETHODIMP CImpIDispatch::Invoke(DISPID disIDMember, REFIID riid
- , LCID lcid, unsigned short wFlags, DISPPARAMS *pDispParams
- , VARIANT *pVarResult, EXCEPINFO *pExcepInfo
- , UINT *puArgErr)
- {
- return ResultFromScode(E_NOTIMPL);
- }
-