windows-nt/Source/XPSP1/NT/shell/inc/dspsprt.h
2020-09-26 16:20:57 +08:00

45 lines
1.3 KiB
C++

#ifndef __DSPSPRT_H__
#define __DSPSPRT_H__
// get ITypeInfo uuid/lcid out of type library
STDAPI GetTypeInfoFromLibId(LCID lcid, REFGUID libid,
USHORT wVerMajor, USHORT wVerMinor,
REFGUID uuid, ITypeInfo **ppITypeInfo);
//
// Helper C++ class used to share code for the IDispatch implementations
//
// Inherit from this class passing this IDispatch's IID to the ctor
//
class CImpIDispatch
{
public:
// We need access to the virtual QI -- define it PURE here
virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj) PURE;
protected:
CImpIDispatch(REFGUID libid, USHORT wVerMajor, USHORT wVerMinor, REFIID riid);
virtual ~CImpIDispatch(void);
// For raising exceptions
void Exception(WORD);
// IDispatch members
STDMETHODIMP GetTypeInfoCount(UINT *);
STDMETHODIMP GetTypeInfo(UINT, LCID, ITypeInfo **);
STDMETHODIMP GetIDsOfNames(REFIID, OLECHAR **, UINT, LCID, DISPID *);
STDMETHODIMP Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT *);
private:
REFIID m_riid;
REFGUID m_libid;
USHORT m_wVerMajor;
USHORT m_wVerMinor;
ITypeInfo *m_pITINeutral; // Cached Type information
};
#endif // __DSPSPRT_H__