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

#define DISPID_NEWENUM -4
[
	object,
	uuid(6384D584-0FDB-11cf-8700-00AA0053006D),
	dual,
	helpstring("IBeeper Interface"),
	pointer_default(unique)
]
interface IBeeper : IDispatch
{
	import "oaidl.idl";
		[helpstring("Play the current sound")]
			HRESULT Beep();
		[propget, helpstring("Returns number of strings in collection.")]
		HRESULT Count([out, retval] long* retval);

		[propget, id(0),
		helpstring("Given an index, returns a string in the collection")]
		HRESULT Item([in] long Index, [out, retval] BSTR* pbstr);

		[propget, restricted, id(DISPID_NEWENUM)]   // Must be propget.
		HRESULT _NewEnum([out, retval] IUnknown** retval);
};

[
	uuid(1CD7DD6A-7689-4926-842B-8F92DE6D92F0),
	helpstring("Beeper 1.0 Type Library"),
	version(1.0)
]
library BeeperLib
{
	importlib("stdole32.tlb");

	//  Class information
	[ uuid(8FD6E504-78CA-4236-9819-37A7AA09C2D7), helpstring("Beeper Object") ]
	coclass Beeper
	{
		[default] interface IBeeper;
	};

};
