windows-nt/Source/XPSP1/NT/com/ole32/idl/internal/serializ.idl
2020-09-26 16:20:57 +08:00

56 lines
1.4 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1998.
//
// File:
// serializ.idl
//
// Contents:
// Definition of private COM interfaces for serialization
// used in activation
//
// History:
// VinayKr 01-16-98 Created
//
//--------------------------------------------------------------------------
#ifndef DO_NO_IMPORTS
import "iface.idl";
import "wtypes.idl";
import "objidl.idl";
import "obase.idl";
#endif
interface ISerializableParent;
[
object,
local,
uuid(000001B2-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface ISerializable:IUnknown
{
HRESULT Serialize([in] void *pSer);
HRESULT UnSerialize([in] void *pSer);
HRESULT GetSize([in] void *pSer, [out] DWORD *pdwSize);
HRESULT GetCLSID([out] CLSID *pClsid);
HRESULT SetParent(ISerializableParent *pParent);
HRESULT SerializableQueryInterface([in] REFIID riid,
[out, iid_is(riid)] void **ppvObject);
}
[
object,
local,
uuid(000001B1-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface ISerializableParent:IUnknown
{
HRESULT GetUnserialized([in] REFCLSID clsid,
[out] void **pISer,
[out] DWORD *pSize, [out] DWORD *pPos);
}