Source code of Windows XP (NT5)
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.

33 lines
1.1 KiB

  1. /* - - - - - - - - */
  2. class FAR CUnMarshal : IMarshal {
  3. public:
  4. static HRESULT Create(IUnknown FAR* pUnknownOuter, const IID FAR& riid, void FAR* FAR* ppv);
  5. private:
  6. CUnMarshal(IUnknown FAR* pUnknownOuter, IUnknown FAR* FAR* ppUnknown);
  7. public:
  8. STDMETHODIMP QueryInterface(const IID FAR& riid, void FAR* FAR* ppv);
  9. STDMETHODIMP_(ULONG) AddRef();
  10. STDMETHODIMP_(ULONG) Release();
  11. // *** IMarshal methods ***
  12. STDMETHODIMP GetUnmarshalClass (THIS_ REFIID riid, LPVOID pv,
  13. DWORD dwDestContext, LPVOID pvDestContext,
  14. DWORD mshlflags, LPCLSID pCid);
  15. STDMETHODIMP GetMarshalSizeMax (THIS_ REFIID riid, LPVOID pv,
  16. DWORD dwDestContext, LPVOID pvDestContext,
  17. DWORD mshlflags, LPDWORD pSize);
  18. STDMETHODIMP MarshalInterface (THIS_ LPSTREAM pStm, REFIID riid,
  19. LPVOID pv, DWORD dwDestContext, LPVOID pvDestContext,
  20. DWORD mshlflags);
  21. STDMETHODIMP UnmarshalInterface (THIS_ LPSTREAM pStm, REFIID riid,
  22. LPVOID FAR* ppv);
  23. STDMETHODIMP ReleaseMarshalData (THIS_ LPSTREAM pStm);
  24. STDMETHODIMP DisconnectObject (THIS_ DWORD dwReserved);
  25. IUnknown FAR* m_pUnknownOuter;
  26. ULONG m_refs;
  27. };