//+---------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright 1992 - 1998 Microsoft Corporation.
//
//  File:       perhist.idl
//
//  Contents:   IPersistHistory interfaces
//
//  Classes:
//
//  Functions:
//
//  History:    04-11-97   DBau (David Bau)   Created
//
//----------------------------------------------------------------------------
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// perhist.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Copyright 1995 - 1998 Microsoft Corporation.  All Rights Reserved.")
cpp_quote("//")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
cpp_quote("// PARTICULAR PURPOSE.")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
cpp_quote("#pragma comment(lib,\"uuid.lib\")")
cpp_quote("")
cpp_quote("//---------------------------------------------------------------------------=")
cpp_quote("// IPersistHistory Interface.")
cpp_quote("")

import "objidl.idl";
import "oleidl.idl";

interface IPersistHistory;

//+---------------------------------------------------------------------------
//
//  Copyright 1995 - 1998 Microsoft Corporation.
//
//  Contents:  IPersistHistory interface definition
//
//----------------------------------------------------------------------------

cpp_quote("#ifndef _LPPERSISTHISTORY_DEFINED")
cpp_quote("#define _LPPERSISTHISTORY_DEFINED")

[object, uuid(91A565C1-E38F-11d0-94BF-00A0C9055CBF), pointer_default(unique)]
interface IPersistHistory : IPersist
{
	typedef [unique] IPersistHistory *LPPERSISTHISTORY;

	HRESULT LoadHistory(
	        [in]IStream *pStream,
	        [in]IBindCtx *pbc);
            
	HRESULT SaveHistory(
	        [in]IStream *pStream);
	        
	HRESULT SetPositionCookie(
	        [in]DWORD dwPositioncookie);
	        
	HRESULT GetPositionCookie(
	        [out]DWORD *pdwPositioncookie);
}

cpp_quote("#endif")
