//+---------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation, 1992-1998.
//
//  File:       vervec.idl
//
//  Contents:   IVersionVector interfaces
//
//  Classes:
//
//  Functions:
//
//  History:    04-23-98   DBau (David Bau)   Created
//
//----------------------------------------------------------------------------
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// version.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) 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("// IVersionVector Interface.")
cpp_quote("")

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

interface IVersionVector;

//+---------------------------------------------------------------------------
//
//  Copyright (C) Microsoft Corporation, 1995-1998.
//
//  Contents:  IVersionVector interface definition
//
//----------------------------------------------------------------------------

cpp_quote("#ifndef _LPVERSION_DEFINED")
cpp_quote("#define _LPVERSION_DEFINED")

[object, uuid(4eb01410-db1a-11d1-ba53-00c04fc2040e), pointer_default(unique)]
interface IVersionVector : IUnknown
{
	typedef [unique] IVersionVector *LPVERSION;

    HRESULT SetVersion(
            [in]const OLECHAR *pchComponent,
            [in]const OLECHAR *pchVersion);

	HRESULT GetVersion(
            [in]const OLECHAR *pchComponent,
            [out]OLECHAR *pchVersion,
            [in, out]ULONG *pcchVersion);
}

cpp_quote("#endif")

//+---------------------------------------------------------------------------
//
//  Copyright (C) Microsoft Corporation, 1995-1998.
//
//  Contents:  IVersionVectorHost interface definition
//
//----------------------------------------------------------------------------

cpp_quote("EXTERN_C const GUID SID_SVersionHost;")

cpp_quote("#ifndef _LPVERSIONHOST_DEFINED")
cpp_quote("#define _LPVERSIONHOST_DEFINED")

[object, uuid(667115ac-dc02-11d1-ba57-00c04fc2040e), pointer_default(unique)]
interface IVersionHost : IUnknown
{
	typedef [unique] IVersionHost *LPVERSIONHOST;

    HRESULT QueryUseLocalVersionVector(
            [out]BOOL *fUseLocal);
            
    HRESULT QueryVersionVector(
            [in]IVersionVector *pVersion);
}

cpp_quote("#endif")


