bits2_0.idl 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /*
  2. * Background Intelligent Transfer Service (BITS) 2.0 interface
  3. *
  4. * Copyright 2015 Hans Leidekker for CodeWeavers
  5. *
  6. * This library is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Lesser General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 2.1 of the License, or (at your option) any later version.
  10. *
  11. * This library is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public
  17. * License along with this library; if not, write to the Free Software
  18. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  19. *
  20. */
  21. #ifndef DO_NO_IMPORTS
  22. import "bits.idl";
  23. import "bits1_5.idl";
  24. #endif
  25. cpp_quote("#define BG_COPY_FILE_OWNER 1")
  26. cpp_quote("#define BG_COPY_FILE_GROUP 2")
  27. cpp_quote("#define BG_COPY_FILE_DACL 4")
  28. cpp_quote("#define BG_COPY_FILE_SACL 8")
  29. cpp_quote("#define BG_COPY_FILE_ALL 15")
  30. cpp_quote("#define BG_LENGTH_TO_EOF (UINT64)(-1)")
  31. cpp_quote("#ifndef _BG_FILE_RANGE_DEFINED")
  32. cpp_quote("#define _BG_FILE_RANGE_DEFINED")
  33. typedef struct _BG_FILE_RANGE
  34. {
  35. UINT64 InitialOffset;
  36. UINT64 Length;
  37. } BG_FILE_RANGE;
  38. cpp_quote("#endif")
  39. [
  40. uuid(443c8934-90ff-48ed-bcde-26f5c7450042),
  41. odl
  42. ]
  43. interface IBackgroundCopyJob3 : IBackgroundCopyJob2
  44. {
  45. HRESULT ReplaceRemotePrefix(
  46. [in] LPCWSTR OldPrefix,
  47. [in] LPCWSTR NewPrefix);
  48. HRESULT AddFileWithRanges(
  49. [in] LPCWSTR RemoteUrl,
  50. [in] LPCWSTR LocalName,
  51. [in] DWORD RangeCount,
  52. [in, size_is(RangeCount)] BG_FILE_RANGE Ranges[]);
  53. HRESULT SetFileACLFlags(
  54. [in] DWORD Flags);
  55. HRESULT GetFileACLFlags(
  56. [out, ref] DWORD *Flags);
  57. }
  58. [
  59. uuid(83e81b93-0873-474d-8a8c-f2018b1a939c),
  60. odl
  61. ]
  62. interface IBackgroundCopyFile2 : IBackgroundCopyFile
  63. {
  64. HRESULT GetFileRanges(
  65. [in, out, unique] DWORD *RangeCount,
  66. [out, size_is(, *RangeCount)] BG_FILE_RANGE **Ranges);
  67. HRESULT SetRemoteName(
  68. LPCWSTR Val);
  69. }
  70. [
  71. uuid(2289a9af-dc96-486e-b268-89c9e3397c3d),
  72. version(1.0)
  73. ]
  74. library BackgroundCopyManager2_0
  75. {
  76. [
  77. uuid(6d18ad12-bde3-4393-b311-099c346e6df9)
  78. ]
  79. coclass BackgroundCopyManager2_0
  80. {
  81. [default] interface IBackgroundCopyManager;
  82. };
  83. interface IBackgroundCopyCallback;
  84. interface IBackgroundCopyJob3;
  85. interface IBackgroundCopyFile2;
  86. }
  87. cpp_quote("#include \"bits2_5.h\"")