[!crlf]
	[
		object,
		uuid(a817e7a2-43fa-11d0-9e44-00aa00b6770a),
		dual,
		helpstring("IComponentRegistrar Interface"),
		pointer_default(unique)
	]
	interface IComponentRegistrar : IDispatch
	{
		[id(1)]	HRESULT Attach([in] BSTR bstrPath);
		[id(2)]	HRESULT RegisterAll();
		[id(3)]	HRESULT UnregisterAll();
		[id(4)]	HRESULT GetComponents([out] SAFEARRAY(BSTR)* pbstrCLSIDs, [out] SAFEARRAY(BSTR)* pbstrDescriptions);
		[id(5)]	HRESULT RegisterComponent([in] BSTR bstrCLSID);
		[id(6)] HRESULT UnregisterComponent([in] BSTR bstrCLSID);
	};
[!crlf]
	[
		uuid(a817e7a0-43fa-11d0-9e44-00aa00b6770a),
		helpstring("ComponentRegistrar Class")
	]
	coclass [!CoClassName]
	{
		[default] interface IComponentRegistrar;
	};
