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

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

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

    [
        object,
        uuid(A2531F44-C67D-11D0-8CB1-00C04FD90F85),
        dual,
        helpstring("Forcably gives a machine link-tracking ownership of file(s)/volume(s)"),
        pointer_default(unique)
    ]
    interface ITrkForceOwnership : IDispatch
    {
        [id(1), helpstring("Force one or more volumes to be owned by the current machine")]
            HRESULT Volumes(BSTR bstrUncPath, long lScope);
        [id(2), helpstring("Force one or more files to be owned by the current machine")]
            HRESULT Files(BSTR bstrUncPath, long lScope);
        [id(3), helpstring("Get the ownership-status of one or more volumes")]
            HRESULT VolumeStatus(BSTR bstrUncPath, long lScope,
								 VARIANT *pvarlongVolIndex, VARIANT *pvarbstrVolId, VARIANT *pvarlongStatus );
        [id(4), helpstring("Get the ownership-status of one or more files")]
            HRESULT FileStatus(BSTR bstrUncPath, long lScope, VARIANT *pvarrgbstrFileName, VARIANT* pvarrgbstrFileId, VARIANT* pvarrglongStatus);
    };

	[
		object,
		uuid(D0056F6B-E2A0-11D0-B1C2-00C04FB9386D),
		dual,
		helpstring("Notifies a machine's Link Tracking service that a restore has taken place"),
		pointer_default(unique)
	]
	interface ITrkRestoreNotify : IDispatch
	{
		[id(1), helpstring("Notify the Link Tracking service that a restore has taken place")]
			HRESULT OnRestore();
	};

	[
		object,
		uuid(755939E3-E381-11D0-B1C5-00C04FB9386D),
		helpstring("ITrkRestoreParser Interface"),
		pointer_default(unique)
	]
	interface ITrkRestoreParser : IUnknown
	{
	};
[
    uuid(A2531F35-C67D-11D0-8CB1-00C04FD90F85),
    version(1.0),
    helpstring("Link Tracking 1.0 Type Library")
]
library ITRKADMNLib
{
    importlib("stdole2.tlb");

    [
        uuid(A2531F45-C67D-11D0-8CB1-00C04FD90F85),
        helpstring("Link Tracking Force Ownership Class")
    ]
    coclass TrkForceOwnership
    {
        [default] interface ITrkForceOwnership;
    };
	[
		uuid(D0056F6C-E2A0-11D0-B1C2-00C04FB9386D),
		helpstring("TrkRestoreNotifyClass")
	]
	coclass TrkRestoreNotify
	{
		[default] interface ITrkRestoreNotify;
	};
	[
		uuid(755939E4-E381-11D0-B1C5-00C04FB9386D),
		helpstring("TrkRestoreParser Class")
	]
	coclass TrkRestoreParser
	{
		[default] interface ITrkRestoreParser;
	};
};
