bits2_0.idl 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import "bits.idl";
  2. import "bits1_5.idl";
  3. //
  4. // if BG_FILE_RANGE.Length == BG_LENGTH_TO_EOF, the file range extends to the end of the file.
  5. //
  6. cpp_quote("#define BG_LENGTH_TO_EOF (UINT64)(-1)")
  7. typedef struct _BG_FILE_RANGE
  8. {
  9. UINT64 InitialOffset;
  10. UINT64 Length;
  11. }
  12. BG_FILE_RANGE;
  13. cpp_quote("#define BG_COPY_FILE_OWNER 1")
  14. cpp_quote("#define BG_COPY_FILE_GROUP 2")
  15. cpp_quote("#define BG_COPY_FILE_DACL 4")
  16. cpp_quote("#define BG_COPY_FILE_SACL 8")
  17. cpp_quote("#define BG_COPY_FILE_ALL 15")
  18. [
  19. uuid(443c8934-90ff-48ed-bcde-26f5c7450042),
  20. helpstring("IBackgroundCopyJob3 Interface"),
  21. odl
  22. ]
  23. interface IBackgroundCopyJob3 : IBackgroundCopyJob2
  24. {
  25. // Changes all remote names that match the prefix.
  26. //
  27. HRESULT
  28. ReplaceRemotePrefix(
  29. [in] LPCWSTR OldPrefix,
  30. [in] LPCWSTR NewPrefix
  31. );
  32. // Like AddFile, but only downloads specific ranges (subsets) of a file.
  33. //
  34. HRESULT
  35. AddFileWithRanges(
  36. [in] LPCWSTR RemoteUrl,
  37. [in] LPCWSTR LocalName,
  38. [in] DWORD RangeCount,
  39. [in, size_is(RangeCount)] BG_FILE_RANGE Ranges[]
  40. );
  41. HRESULT
  42. SetFileACLFlags(
  43. [in] DWORD Flags );
  44. HRESULT
  45. GetFileACLFlags(
  46. [out,ref] DWORD* Flags );
  47. }
  48. [
  49. uuid(83e81b93-0873-474d-8a8c-f2018b1a939c),
  50. helpstring("IBackgroundCopyFile2"),
  51. odl
  52. ]
  53. interface IBackgroundCopyFile2 : IBackgroundCopyFile
  54. {
  55. HRESULT
  56. GetFileRanges(
  57. [in, out, unique] DWORD * RangeCount,
  58. [out, size_is( , *RangeCount)] BG_FILE_RANGE ** Ranges
  59. );
  60. HRESULT
  61. SetRemoteName(
  62. LPCWSTR Val
  63. );
  64. }
  65. //---------------------------------------------------------------------------
  66. [
  67. uuid(2289a9af-dc96-486e-b268-89c9e3397c3d),
  68. helpstring("Microsoft Background Copy Manager 2.0"),
  69. lcid(0x0000),
  70. version(1.0)
  71. ]
  72. library BackgroundCopyManager2_0
  73. {
  74. [
  75. uuid(6d18ad12-bde3-4393-b311-099c346e6df9),
  76. helpstring("Background copy manager 2.0")
  77. ]
  78. coclass BackgroundCopyManager2_0
  79. {
  80. [default] interface IBackgroundCopyManager;
  81. };
  82. interface IBackgroundCopyCallback;
  83. interface IBackgroundCopyJob3;
  84. }