Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

54 lines
1.2 KiB

#ifndef __AMBIENT_HPP__
#define __AMBIENT_HPP__
#ifdef __cplusplus
extern "C" {
#endif
// only include class definitions if this is included by a C++ module
#ifdef __cplusplus
// Forward declaration
class CSite;
class CAmbientDispatch : public IDispatch
{
protected:
DWORD _dwRef; // Reference count
CSite * _Site; // Pointer to CSite class associated with this instance.
LPUNKNOWN _pUnkOuter; // Aggregator Unknown.
public: // ctor and dtor
CAmbientDispatch();
CAmbientDispatch(CSite *, LPUNKNOWN);
~CAmbientDispatch(void);
public: // OLE Interface methods
// IUnknown methods
STDMETHOD (QueryInterface)(REFIID riid, LPVOID *ppvObj);
STDMETHOD_(ULONG,AddRef)();
STDMETHOD_(ULONG,Release)();
// IDispatch methods
STDMETHOD (Invoke)(LONG, REFIID, LCID, unsigned short, DISPPARAMS *, VARIANT *, EXCEPINFO *, unsigned int *);
STDMETHOD (GetIDsOfNames)(REFIID, LPOLESTR *, unsigned int, LCID, DISPID *);
STDMETHOD (GetTypeInfo)(UINT, LCID, ITypeInfo **);
STDMETHOD (GetTypeInfoCount)(unsigned int *);
public: // Public methods
DWORD GetRef() {return _dwRef;}
};
typedef CAmbientDispatch * LPCAMBIENTDISPATCH;
DECLARE_STANDARD_TYPES(CAmbientDispatch);
#ifdef __cplusplus
}
#endif
#endif // __cplusplus
#endif // __AMBIENT_HPP__