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

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

import "oaidl.idl";
import "ocidl.idl";
import "WorkNI.idl";

   

	[
		object,
#ifdef OFA
      uuid(33FF07B9-0AD8-4f58-9F35-D6D6403A5B1E),
#else
		uuid(DF98CEF6-B5F4-11D2-A1DE-00A0C9AFE114),
#endif
	
		helpstring("IAcctRepl Interface"),
		pointer_default(unique)
	]
	interface IAcctRepl : IUnknown
	{
      [id(1), helpstring("method Process")] HRESULT Process(IUnknown * pWorkItemIn);
	};
   [
      object,
#ifdef OFA
      uuid(2D4FDF5A-6F8C-44c8-A294-DAD45D010DC3),
#else
		uuid(76A092DF-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		dual,
		helpstring("IComputerPwdAge Interface"),
		pointer_default(unique)
	]
	interface IComputerPwdAge : IDispatch
	{
		[id(1), helpstring("method GetPwdAge")] HRESULT GetPwdAge(BSTR domain,BSTR ComputerName,[out,retval] DWORD * age);
		[id(2), helpstring("method ExportPasswordAge")] HRESULT ExportPasswordAge(BSTR domain, BSTR filename);
		[id(3), helpstring("method ExportPasswordAgeOlderThan")] HRESULT ExportPasswordAgeOlderThan(BSTR domain, BSTR filename, DWORD minAge);
		[id(4), helpstring("method ExportPasswordAgeNewerThan")] HRESULT ExportPasswordAgeNewerThan(BSTR domain, BSTR filename, DWORD maxAge);
	};
	[
		object,
#ifdef OFA
      uuid(587A1E44-7E5E-424f-BEEB-B195B718BE50),
#else
		uuid(76A092C7-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		dual,
		helpstring("IRebootComputer Interface"),
		pointer_default(unique)
	]
	interface IRebootComputer : IDispatch
	{
		[id(1), helpstring("method Reboot")] HRESULT Reboot(BSTR Computer, DWORD delay);
		[propget, id(2), helpstring("property NoChangeMode")] HRESULT NoChange([out, retval] BOOL *pVal);
		[propput, id(2), helpstring("property NoChangeMode")] HRESULT NoChange([in] BOOL newVal);
	};
	[
		object,
#ifdef OFA
      uuid(CCA8808B-806C-446b-92B4-6C956717C645),
#else
		uuid(76A092C9-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		dual,
		helpstring("IChangeDomain Interface"),
		pointer_default(unique)
	]
	interface IChangeDomain : IDispatch
	{
		[id(1), helpstring("method ChangeToDomain")] HRESULT ChangeToDomain(BSTR ActiveComputerName, BSTR Domain, BSTR NewComputerName,[out] BSTR * errStatus);
		[id(2), helpstring("method ChangeToWorkgroup")] HRESULT ChangeToWorkgroup(BSTR Computer, BSTR Workgroup, [out] BSTR * errStatus);
		[id(3), helpstring("method ConnectAs")] HRESULT ConnectAs(BSTR domain, BSTR user, BSTR password);
		[propget, id(4), helpstring("property NoChange")] HRESULT NoChange([out, retval] BOOL *pVal);
		[propput, id(4), helpstring("property NoChange")] HRESULT NoChange([in] BOOL newVal);
		[id(5), helpstring("method ChangeToDomainWithSid")] HRESULT ChangeToDomainWithSid(BSTR ActiveComputerName, BSTR Domain, BSTR DomainSid, BSTR DomainController, BSTR NewComputerName, BSTR SrcPath, [out] BSTR * errStatus);
	};
	[
		object,
#ifdef OFA
      uuid(F250A335-6C51-424f-B9FA-6F07E092FF4A),
#else
		uuid(76A092CB-BD12-11D2-A1DF-00A0C9AFE114),
#endif      
		dual,
		helpstring("IRenameComputer Interface"),
		pointer_default(unique)
	]
	interface IRenameComputer : IDispatch
	{
		[id(1), helpstring("method RenameLocalComputer")] HRESULT RenameLocalComputer(BSTR NewName);
		[propget, id(2), helpstring("property NoChange")] HRESULT NoChange([out, retval] BOOL *pVal);
		[propput, id(2), helpstring("property NoChange")] HRESULT NoChange([in] BOOL newVal);
	};
	[
		object,
#ifdef OFA
      uuid(B56EF479-0518-435e-8EED-2884A879BF1E),
#else
		uuid(76A092F3-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		dual,
		helpstring("IUserRights Interface"),
		pointer_default(unique)
	]
	interface IUserRights : IDispatch
	{
		[id(1), helpstring("method OpenSourceServer")] HRESULT OpenSourceServer(BSTR serverName);
		[id(2), helpstring("method OpenTargetServer")] HRESULT OpenTargetServer(BSTR computerName);
		[id(3), helpstring("method CopyUserRights")] HRESULT CopyUserRights(BSTR sourceUserName, BSTR targetUserName);
		[propget, id(4), helpstring("property NoChange")] HRESULT NoChange([out, retval] BOOL *pVal);
		[propput, id(4), helpstring("property NoChange")] HRESULT NoChange([in] BOOL newVal);
		[propget, id(5), helpstring("property RemoveOldRightsFromTargetAccounts")] HRESULT RemoveOldRightsFromTargetAccounts([out, retval] BOOL *pVal);
		[propput, id(5), helpstring("property RemoveOldRightsFromTargetAccounts")] HRESULT RemoveOldRightsFromTargetAccounts([in] BOOL newVal);
		[id(6), helpstring("method ExportUserRights")] HRESULT ExportUserRights(BSTR server, BSTR filename, BOOL bAppendToFile);
		[id(7), helpstring("method AddUserRight")] HRESULT AddUserRight(BSTR server, BSTR username, BSTR right);
		[id(8), helpstring("method RemoveUserRight")] HRESULT RemoveUserRight(BSTR server, BSTR username, BSTR right);
		[id(9), helpstring("method GetRights")] HRESULT GetRights(BSTR server, [out] SAFEARRAY(BSTR) * rights);
		[id(10), helpstring("method GetUsersWithRight")] HRESULT GetUsersWithRight(BSTR server, BSTR right, [out] SAFEARRAY(BSTR) * users);
		[id(11), helpstring("method GetRightsOfUser")] HRESULT GetRightsOfUser(BSTR server, BSTR user, [out] SAFEARRAY(BSTR) * rights);
		[id(12), helpstring("method CopyUserRightsWithSids")]HRESULT CopyUserRightsWithSids(BSTR sourceSamName,BSTR sourceSID,BSTR targetSamName,BSTR targetSID);
	};

	[
		object,
#ifdef OFA
      uuid(396DC4F3-DE80-4dae-9C69-B69212410DED),
#else
		uuid(6D4C48A3-C4F3-11D2-A1E0-00A0C9AFE114),
#endif
		dual,
		helpstring("IStatusObj Interface"),
		pointer_default(unique)
	]
	interface IStatusObj : IDispatch
	{
		[propget, id(1), helpstring("property Status")] HRESULT Status([out, retval] LONG *pVal);
		[propput, id(1), helpstring("property Status")] HRESULT Status([in] LONG newVal);
	};
 	[
		object,
#ifdef OFA
      uuid(6411EB69-223A-4017-A66C-8B1307661C17),
#else
		uuid(DF98CF06-B5F4-11D2-A1DE-00A0C9AFE114),
#endif	
		helpstring("ISecTranslator Interface"),
		pointer_default(unique)
	]
	interface ISecTranslator : IUnknown
	{
		[helpstring("method Process")] HRESULT Process(IUnknown * pWorkItemIn);
	};
	[
		object,
#ifdef OFA
      uuid(17A02985-0268-446d-B45C-FF5AF413775C),
#else
		uuid(FEDFF8B0-1F6B-11D3-8ADD-00A0C9AFE114),
#endif
		dual,
		helpstring("IAccessChecker Interface"),
		pointer_default(unique)
	]
	interface IAccessChecker : IDispatch
	{
		[id(1), helpstring("method IsAdmin")] HRESULT IsAdmin(BSTR user, BSTR server, [out] BOOL * pbIsAdmin);
		[id(2), helpstring("method GetOsVersion")] HRESULT GetOsVersion(BSTR server, [out] DWORD * pdwVerMaj, [out] DWORD * pdwVerMin, [out] DWORD * pdwVerSP);
		[id(3), helpstring("method IsNativeMode")] HRESULT IsNativeMode(BSTR Domain, [out] BOOL * pbIsNativeMode);
		[id(4), helpstring("method CanUseAddSidHistory")] HRESULT CanUseAddSidHistory(BSTR srcDomain, BSTR tgtDomain, [out] LONG * pbCanUseIt);
		[id(5), helpstring("method IsInSameForest")] HRESULT IsInSameForest(BSTR srcDomain, BSTR tgtDomain, [out] BOOL * pbIsSame);
		[id(6), helpstring("method GetPasswordPolicy")]HRESULT GetPasswordPolicy(BSTR domain,[out] LONG * dwPasswordLength);
		[id(7), helpstring("method EnableAuditing")]HRESULT EnableAuditing(BSTR sDC);
		[id(8), helpstring("method AddRegKey")]HRESULT AddRegKey(BSTR sDomain, LONG bReboot);
		[id(9), helpstring("method AddLocalGroup")]HRESULT AddLocalGroup(BSTR srcDomain, BSTR srcDc);
	};
	[
		object,
#ifdef OFA
      uuid(D46EF928-5ADD-43a5-B4C6-C2948AFEA768),
#else
		uuid(9CA89081-2276-11D3-8ADD-00A0C9AFE114),
#endif
		dual,
		helpstring("IPlugInInfo Interface"),
		pointer_default(unique)
	]
	interface IPlugInInfo : IDispatch
	{
		[id(1), helpstring("method EnumeratePlugIns")] HRESULT EnumeratePlugIns([out] SAFEARRAY(BSTR) * pPlugIns);
		[id(2), helpstring("method EnumerateExtensions")] HRESULT EnumerateExtensions([out] SAFEARRAY(BSTR) * pExtensions);
	};

[
#ifdef OFA
   uuid(6077F527-B874-4031-8D42-0C915FDCBDC6),
#else
	uuid(4D51F750-E6C7-11d2-A1E4-00A0C9AFE114),
#endif
	version(1.0),
	helpstring("McsDCTWorkerObjects 1.0 Type Library")
]
library MCSDCTWORKEROBJECTSLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

    [
#ifdef OFA
      uuid(05D4AD4C-A71E-4f87-9E2B-033226497044),
#else
		uuid(DF98CEF7-B5F4-11D2-A1DE-00A0C9AFE114),
#endif
		helpstring("AcctRepl Class")
    ]
	coclass AcctRepl
	{
		[default] interface IAcctRepl;
	};

	[
#ifdef OFA
      uuid(4C835FD2-5E7B-44c4-886B-54651DFBB8C5),
#else
		uuid(76A092E0-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		helpstring("ComputerPwdAge Class")
	]
	coclass ComputerPwdAge
	{
		[default] interface IComputerPwdAge;
	};
	[
#ifdef OFA
      uuid(BEE56252-20E6-4d9d-86AE-9CF141B5FE6C),
#else
		uuid(76A092C8-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		helpstring("RebootComputer Class")
	]
	coclass RebootComputer
	{
		[default] interface IRebootComputer;
	};
	[
#ifdef OFA
      uuid(EB3DA108-16C0-4701-8503-A3C05DDA7BD7),
#else
		uuid(76A092CA-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		helpstring("ChangeDomain Class")
	]
	coclass ChangeDomain
	{
		[default] interface IChangeDomain;
	};
	[
#ifdef OFA
      uuid(5E9409F0-7CB4-4902-830C-E2C30E1F769D),
#else      
		uuid(76A092CC-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		helpstring("RenameComputer Class")
	]
	coclass RenameComputer
	{
		[default] interface IRenameComputer;
      interface IWorkNode;
	};
	[
#ifdef OFA
      uuid(E0DAAE36-17EF-4efc-98A2-2676C08F37F7),
#else
		uuid(76A092F4-BD12-11D2-A1DF-00A0C9AFE114),
#endif
		helpstring("UserRights Class")
	]
	coclass UserRights
	{
		[default] interface IUserRights;
	};
	[
#ifdef OFA
      uuid(D15F563C-467F-4fec-B13E-DAF57D432D4E),
#else
	   uuid(6D4C48A4-C4F3-11D2-A1E0-00A0C9AFE114),
#endif
		helpstring("StatusObj Class")
	]
	coclass StatusObj
	{
		[default] interface IStatusObj;
      interface IWorkNode;
	};
	[
#ifdef OFA
      uuid(251B8EE7-A9A0-4e80-A056-6DD331A3E439),
#else
		uuid(DF98CF07-B5F4-11D2-A1DE-00A0C9AFE114),
#endif
		helpstring("SecTranslator Class")
	]
	coclass SecTranslator
	{
		[default] interface ISecTranslator;
	};

	[
#ifdef OFA
      uuid(1979F1D2-D043-4a6b-8BB8-648D014F7789),
#else
		uuid(FEDFF8B1-1F6B-11D3-8ADD-00A0C9AFE114),
#endif
		helpstring("AccessChecker Class")
	]
	coclass AccessChecker
	{
		[default] interface IAccessChecker;
	};
	[
#ifdef OFA
      uuid(A65B90E6-BEBB-43bf-843D-2EAAC3E56C81),
#else
		uuid(AED40740-2276-11D3-8ADD-00A0C9AFE114),
#endif
		helpstring("PlugInInfo Class")
	]
	coclass PlugInInfo
	{
		[default] interface IPlugInInfo;
	};
};
