import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(5455C810-227D-11D3-8ADD-00A0C9AFE114), dual, helpstring("IMcsDomPlugIn Interface"), pointer_default(unique) ] interface IMcsDomPlugIn : IDispatch { [id(1), helpstring("Name of the plug-in")] HRESULT GetName([out] BSTR * name); [id(2), helpstring("Description of what the plug-in does.")] HRESULT GetDescription([out] BSTR * description); [id(3), helpstring("List of files needed to run the plug-in. (Files must all be in plug-in directory).")] HRESULT GetRequiredFiles([out]SAFEARRAY(BSTR) * pArray); [id(4), helpstring("List of files that need to be registered for the plug-in.")] HRESULT GetRegisterableFiles([out]SAFEARRAY(BSTR) * pArray); [id(5), helpstring("Adds any needed configuration to the varset.")] HRESULT ConfigureSettings([in]IUnknown * pVarSet); [id(6), helpstring("PreMigrationTask")] HRESULT PreMigrationTask([in]IUnknown * pVarSet); [id(7), helpstring("PostMigrationTask")] HRESULT PostMigrationTask([in]IUnknown * pVarSet); [id(8), helpstring("A string summarizing the plug-in's results from the results file.")] HRESULT GetResultString([in]IUnknown * pVarSet,[out] BSTR * text); [id(9), helpstring("method StoreResults")] HRESULT StoreResults([in]IUnknown * pVarSet); }; [ object, uuid(51F46B5F-AB4B-4a0d-89FE-62FB54A4B34D), helpstring("ISecPlugIn Interface"), pointer_default(unique) ] interface ISecPlugIn : IUnknown { [id(1), helpstring("Verify")] HRESULT Verify([in,out,size_is(size)]ULONG * data, [in] ULONG size); }; [ uuid(CCA70C80-46BF-11d3-AEAB-00A0C985C311), version(1.0), helpstring("MCS Plugin type library") ] library MCSPILib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); interface IMcsDomPlugIn; interface ISecPlugIn; };