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

// This file will be processed by the MIDL tool to
// produce the type library (McsMigrationDriver.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
import "basetsd.h";
	
	[
		object,
#ifdef OFA
      uuid(C0B2248C-B7CA-49f3-9383-9C6AE32F0846),
#else
		uuid(1AA3D2E0-2B15-11D3-8AE5-00A0C9AFE114),
#endif
		dual,
		helpstring("IPerformMigrationTask Interface"),
		pointer_default(unique)
	]
	interface IPerformMigrationTask : IDispatch
	{
#ifdef _WIN64
		[id(1), helpstring("method PerformMigrationTask")] HRESULT PerformMigrationTask(IUnknown * pVarSet,[in] LONG64 hWnd);
#else
		[id(1), helpstring("method PerformMigrationTask")] HRESULT PerformMigrationTask(IUnknown * pVarSet,[in] LONG hWnd);
#endif
		[id(2), helpstring("method GetTaskDescription")] HRESULT GetTaskDescription(IUnknown * pVarSet,[out] BSTR * pDescription);
		[id(3), helpstring("method GetUndoTask")] HRESULT GetUndoTask(IUnknown * pVarSet,[out] IUnknown ** ppVarSetOut);
	};

[
#ifdef OFA
   uuid(0B30BB2C-FC62-4e15-8F7A-4D5F7E35ABB8),
#else
	uuid(7EB212C0-2A77-11D3-8AE4-00A0C9AFE114),
#endif
	version(1.0),
	helpstring("McsMigrationDriver 1.0 Type Library")
]
library MCSMIGRATIONDRIVERLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	// IPerformMigrationTask specific errors

	typedef enum PerformMigrationTaskErrors
	{
		MIGRATOR_E_PROCESSES_STILL_RUNNING = 0x80040200,
	}
	PerformMigrationTaskErrors;

	[
#ifdef OFA
      uuid(42064542-10F2-4c2b-B5BF-58BDB63FDFE9),
#else
		uuid(1AA3D2E1-2B15-11D3-8AE5-00A0C9AFE114),
#endif
		helpstring("Migrator Class")
	]
	coclass Migrator
	{
		[default] interface IPerformMigrationTask;
	};
};
