bits2_5.idl 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*
  2. * Background Intelligent Transfer Service (BITS) 2.5 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. import "bits2_0.idl";
  25. #endif
  26. [
  27. uuid(f1bd1079-9f01-4bdc-8036-f09b70095066),
  28. odl
  29. ]
  30. interface IBackgroundCopyJobHttpOptions : IUnknown
  31. {
  32. typedef enum
  33. {
  34. BG_CERT_STORE_LOCATION_CURRENT_USER,
  35. BG_CERT_STORE_LOCATION_LOCAL_MACHINE,
  36. BG_CERT_STORE_LOCATION_CURRENT_SERVICE,
  37. BG_CERT_STORE_LOCATION_SERVICES,
  38. BG_CERT_STORE_LOCATION_USERS,
  39. BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY,
  40. BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY,
  41. BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE
  42. } BG_CERT_STORE_LOCATION;
  43. HRESULT SetClientCertificateByID(
  44. [in] BG_CERT_STORE_LOCATION StoreLocation,
  45. [in] LPCWSTR StoreName,
  46. [in, size_is(20), ref] BYTE *pCertHashBlob
  47. );
  48. HRESULT SetClientCertificateByName(
  49. [in] BG_CERT_STORE_LOCATION StoreLocation,
  50. [in] LPCWSTR StoreName,
  51. [in] LPCWSTR SubjectName
  52. );
  53. HRESULT RemoveClientCertificate();
  54. HRESULT GetClientCertificate(
  55. [out, ref] BG_CERT_STORE_LOCATION *pStoreLocation,
  56. [out, ref] LPWSTR *pStoreName,
  57. [out, size_is(, 20), ref] BYTE **ppCertHashBlob,
  58. [out, ref] LPWSTR *pSubjectName
  59. );
  60. HRESULT SetCustomHeaders(
  61. [in, unique] LPCWSTR RequestHeaders
  62. );
  63. HRESULT GetCustomHeaders(
  64. [out] LPWSTR *pRequestHeaders
  65. );
  66. HRESULT SetSecurityFlags(
  67. [in] ULONG Flags
  68. );
  69. HRESULT GetSecurityFlags(
  70. [out, ref] ULONG *pFlags
  71. );
  72. }
  73. [
  74. uuid(4974177c-3bb6-4c37-9ff0-6b7426f0aba9),
  75. version(1.0)
  76. ]
  77. library BackgroundCopyManager2_5
  78. {
  79. [
  80. uuid(03ca98d6-ff5d-49b8-abc6-03dd84127020)
  81. ]
  82. coclass BackgroundCopyManager2_5
  83. {
  84. [default] interface IBackgroundCopyManager;
  85. };
  86. interface IBackgroundCopyCallback;
  87. interface IBackgroundCopyJobHttpOptions;
  88. }
  89. cpp_quote("#include \"bits3_0.h\"")