xpmgr/BuildTools/Include/bits2_0.idl

102 lines
2.1 KiB
Plaintext

import "bits.idl";
import "bits1_5.idl";
//
// if BG_FILE_RANGE.Length == BG_LENGTH_TO_EOF, the file range extends to the end of the file.
//
cpp_quote("#define BG_LENGTH_TO_EOF (UINT64)(-1)")
typedef struct _BG_FILE_RANGE
{
UINT64 InitialOffset;
UINT64 Length;
}
BG_FILE_RANGE;
cpp_quote("#define BG_COPY_FILE_OWNER 1")
cpp_quote("#define BG_COPY_FILE_GROUP 2")
cpp_quote("#define BG_COPY_FILE_DACL 4")
cpp_quote("#define BG_COPY_FILE_SACL 8")
cpp_quote("#define BG_COPY_FILE_ALL 15")
[
uuid(443c8934-90ff-48ed-bcde-26f5c7450042),
helpstring("IBackgroundCopyJob3 Interface"),
odl
]
interface IBackgroundCopyJob3 : IBackgroundCopyJob2
{
// Changes all remote names that match the prefix.
//
HRESULT
ReplaceRemotePrefix(
[in] LPCWSTR OldPrefix,
[in] LPCWSTR NewPrefix
);
// Like AddFile, but only downloads specific ranges (subsets) of a file.
//
HRESULT
AddFileWithRanges(
[in] LPCWSTR RemoteUrl,
[in] LPCWSTR LocalName,
[in] DWORD RangeCount,
[in, size_is(RangeCount)] BG_FILE_RANGE Ranges[]
);
HRESULT
SetFileACLFlags(
[in] DWORD Flags );
HRESULT
GetFileACLFlags(
[out,ref] DWORD* Flags );
}
[
uuid(83e81b93-0873-474d-8a8c-f2018b1a939c),
helpstring("IBackgroundCopyFile2"),
odl
]
interface IBackgroundCopyFile2 : IBackgroundCopyFile
{
HRESULT
GetFileRanges(
[in, out, unique] DWORD * RangeCount,
[out, size_is( , *RangeCount)] BG_FILE_RANGE ** Ranges
);
HRESULT
SetRemoteName(
LPCWSTR Val
);
}
//---------------------------------------------------------------------------
[
uuid(2289a9af-dc96-486e-b268-89c9e3397c3d),
helpstring("Microsoft Background Copy Manager 2.0"),
lcid(0x0000),
version(1.0)
]
library BackgroundCopyManager2_0
{
[
uuid(6d18ad12-bde3-4393-b311-099c346e6df9),
helpstring("Background copy manager 2.0")
]
coclass BackgroundCopyManager2_0
{
[default] interface IBackgroundCopyManager;
};
interface IBackgroundCopyCallback;
interface IBackgroundCopyJob3;
interface IBackgroundCopyFile2;
}
cpp_quote("#include \"bits2_5.h\"")