vsadmin.idl 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. cpp_quote("#include <winapifamily.h>")
  7. cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
  8. import "oaidl.idl";
  9. import "ocidl.idl";
  10. import "vss.idl";
  11. [
  12. object,
  13. uuid(77ed5996-2f63-11d3-8a39-00c04f72d8e3),
  14. pointer_default(unique)
  15. ]
  16. interface IVssAdmin : IUnknown
  17. {
  18. HRESULT RegisterProvider(
  19. [in] VSS_ID pProviderId,
  20. [in] CLSID ClassId,
  21. [in] VSS_PWSZ pwszProviderName,
  22. [in] VSS_PROVIDER_TYPE eProviderType,
  23. [in] VSS_PWSZ pwszProviderVersion,
  24. [in] VSS_ID ProviderVersionId);
  25. HRESULT UnregisterProvider(
  26. [in] VSS_ID ProviderId);
  27. HRESULT QueryProviders(
  28. [out] IVssEnumObject **ppEnum);
  29. HRESULT AbortAllSnapshotsInProgress(void);
  30. }
  31. [
  32. object,
  33. uuid(7858a9f8-b1fa-41a6-964f-b9b36b8cd8d8),
  34. pointer_default(unique)
  35. ]
  36. interface IVssAdminEx : IVssAdmin
  37. {
  38. HRESULT GetProviderCapability(
  39. [in] VSS_ID pProviderId,
  40. [out] ULONGLONG *pllOriginalCapabilityMask);
  41. HRESULT GetProviderContext(
  42. [in] VSS_ID ProviderId,
  43. [out] LONG *plContext);
  44. HRESULT SetProviderContext(
  45. [in] VSS_ID ProviderId,
  46. [in] LONG lContext);
  47. }
  48. [
  49. uuid(9148a774-0304-4243-b269-a339aa96d264),
  50. version(1.0)
  51. ]
  52. library VSSAdmin
  53. {
  54. importlib("stdole2.tlb");
  55. [
  56. uuid(e579ab5f-1cc4-44b4-bed9-de0991ff0623),
  57. ]
  58. coclass VSSCoordinator
  59. {
  60. [default] interface IVssAdmin;
  61. interface IVssAdminEx;
  62. }
  63. }
  64. cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP */")