34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
/* - - - - - - - - */
|
|
|
|
class FAR CUnMarshal : IMarshal {
|
|
public:
|
|
static HRESULT Create(IUnknown FAR* pUnknownOuter, const IID FAR& riid, void FAR* FAR* ppv);
|
|
|
|
private:
|
|
CUnMarshal(IUnknown FAR* pUnknownOuter, IUnknown FAR* FAR* ppUnknown);
|
|
|
|
public:
|
|
STDMETHODIMP QueryInterface(const IID FAR& riid, void FAR* FAR* ppv);
|
|
STDMETHODIMP_(ULONG) AddRef();
|
|
STDMETHODIMP_(ULONG) Release();
|
|
|
|
// *** IMarshal methods ***
|
|
STDMETHODIMP GetUnmarshalClass (THIS_ REFIID riid, LPVOID pv,
|
|
DWORD dwDestContext, LPVOID pvDestContext,
|
|
DWORD mshlflags, LPCLSID pCid);
|
|
STDMETHODIMP GetMarshalSizeMax (THIS_ REFIID riid, LPVOID pv,
|
|
DWORD dwDestContext, LPVOID pvDestContext,
|
|
DWORD mshlflags, LPDWORD pSize);
|
|
STDMETHODIMP MarshalInterface (THIS_ LPSTREAM pStm, REFIID riid,
|
|
LPVOID pv, DWORD dwDestContext, LPVOID pvDestContext,
|
|
DWORD mshlflags);
|
|
STDMETHODIMP UnmarshalInterface (THIS_ LPSTREAM pStm, REFIID riid,
|
|
LPVOID FAR* ppv);
|
|
STDMETHODIMP ReleaseMarshalData (THIS_ LPSTREAM pStm);
|
|
STDMETHODIMP DisconnectObject (THIS_ DWORD dwReserved);
|
|
|
|
IUnknown FAR* m_pUnknownOuter;
|
|
ULONG m_refs;
|
|
};
|
|
|