import "oaidl.idl"; import "ocidl.idl"; [ uuid(5dbe4242-0746-11d3-b56e-00c04f79ddc2), object, dual, helpstring("Microsoft ICloneSecurityPrincipal") ] interface ICloneSecurityPrincipal : IDispatch { [id(0)] HRESULT Connect( [in] BSTR srcDomainController, [in] BSTR srcDomain, [in] BSTR dstDomainController, [in] BSTR dstDomain); [id(1)] HRESULT CopyDownlevelUserProperties( [in] BSTR srcSamName, [in] BSTR dstSamName, [in] long flags); [id(2)] HRESULT AddSidHistory( [in] BSTR srcPrincipalSamName, [in] BSTR dstPrincipalSamName, [in] long flags); [id(3)] HRESULT GetMembersSIDs( [in] BSTR dstGroupDN, [out, retval] VARIANT * pVal ); } [ object, uuid(BCDB5F36-3AFE-11D3-B6B8-0000F87A3388), dual, helpstring("IADsSID Interface"), pointer_default(unique) ] interface IADsSID : IDispatch { [id(4)] HRESULT GetAs( [in] long lFormat, [out, retval] VARIANT *pVar); [id(5)] HRESULT SetAs( [in] long lFormat, [in] VARIANT varData); enum ADS_SID_FORMAT { ADS_SID_RAW, ADS_SID_HEXSTRING, ADS_SID_SAM, ADS_SID_UPN, ADS_SID_SDDL, ADS_SID_WINNT_PATH, ADS_SID_ACTIVE_DIRECTORY_PATH, ADS_SID_SID_BINDING }; }; [ object, uuid(877C4BEE-3986-11D3-B6B8-0000F87A3388), dual, helpstring("IADsError Interface"), pointer_default(unique) ] interface IADsError : IDispatch { [id(6)] HRESULT GetErrorMsg( [in] long hrErr, [out,retval] BSTR *pbMsg); }; [ uuid(5bf93a8e-0746-11d3-b56e-00c04f79ddc2), version(1.0), helpstring("Microsoft CloneSecurityPrincipal 1.0"), lcid(0) ] library CloneSecurityPrincipalLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(aa7f1454-0745-11d3-b56e-00c04f79ddc2), helpstring("CloneSecurityPrincipal Class") ] coclass CloneSecurityPrincipal { interface IUnknown; [default] interface ICloneSecurityPrincipal; interface IADsSID; interface IADsError; }; };