// This is a part of the Active Template Library.
// Copyright (C) 1996-1997 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Active Template Library Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Active Template Library product.

// atl.idl : IDL source for atl.dll
//

cpp_quote("EXTERN_C const CLSID CLSID_Registrar;")

// This file will be processed by the MIDL tool to
// produce the type library (atl.tlb) and marshalling code.
import "oaidl.idl";

	[
		uuid(44EC053B-400F-11D0-9DCD-00A0C90391D3),
		helpstring("IRegistrar Interface"),
		pointer_default(unique)
	]
	interface IRegistrar : IUnknown
	{
//////////////////////////////////////////////////////////
// Script based methods
//////////////////////////////////////////////////////////
		[id(100)] HRESULT AddReplacement([in] LPCOLESTR key, [in] LPCOLESTR item);
		[id(101)] HRESULT ClearReplacements();
		[id(102)] HRESULT ResourceRegisterSz([in] LPCOLESTR resFileName, [in] LPCOLESTR szID, [in] LPCOLESTR szType);
		[id(103)] HRESULT ResourceUnregisterSz([in] LPCOLESTR resFileName, [in] LPCOLESTR szID, [in] LPCOLESTR szType);
		[id(104)] HRESULT FileRegister([in] LPCOLESTR fileName);
		[id(105)] HRESULT FileUnregister([in] LPCOLESTR fileName);
		[id(106)] HRESULT StringRegister([in] LPCOLESTR data);
		[id(107)] HRESULT StringUnregister([in] LPCOLESTR data);
		[id(120)] HRESULT ResourceRegister([in] LPCOLESTR resFileName, [in] UINT nID, [in] LPCOLESTR szType);
		[id(121)] HRESULT ResourceUnregister([in] LPCOLESTR resFileName, [in] UINT nID, [in] LPCOLESTR szType);
	};