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.

55 lines
1.4 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1998.
  5. //
  6. // File:
  7. // serializ.idl
  8. //
  9. // Contents:
  10. // Definition of private COM interfaces for serialization
  11. // used in activation
  12. //
  13. // History:
  14. // VinayKr 01-16-98 Created
  15. //
  16. //--------------------------------------------------------------------------
  17. #ifndef DO_NO_IMPORTS
  18. import "iface.idl";
  19. import "wtypes.idl";
  20. import "objidl.idl";
  21. import "obase.idl";
  22. #endif
  23. interface ISerializableParent;
  24. [
  25. object,
  26. local,
  27. uuid(000001B2-0000-0000-C000-000000000046),
  28. pointer_default(unique)
  29. ]
  30. interface ISerializable:IUnknown
  31. {
  32. HRESULT Serialize([in] void *pSer);
  33. HRESULT UnSerialize([in] void *pSer);
  34. HRESULT GetSize([in] void *pSer, [out] DWORD *pdwSize);
  35. HRESULT GetCLSID([out] CLSID *pClsid);
  36. HRESULT SetParent(ISerializableParent *pParent);
  37. HRESULT SerializableQueryInterface([in] REFIID riid,
  38. [out, iid_is(riid)] void **ppvObject);
  39. }
  40. [
  41. object,
  42. local,
  43. uuid(000001B1-0000-0000-C000-000000000046),
  44. pointer_default(unique)
  45. ]
  46. interface ISerializableParent:IUnknown
  47. {
  48. HRESULT GetUnserialized([in] REFCLSID clsid,
  49. [out] void **pISer,
  50. [out] DWORD *pSize, [out] DWORD *pPos);
  51. }