emptyvc.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:5k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //+---------------------------------------------------------------------------
  2. //
  3. //  Copyright (c) Microsoft Corporation. All rights reserved.
  4. //
  5. //  Contents:   Empty Volume Cache Interfaces
  6. //
  7. //----------------------------------------------------------------------------
  8. cpp_quote("//=--------------------------------------------------------------------------=")
  9. cpp_quote("// emptyvc.h")
  10. cpp_quote("//=--------------------------------------------------------------------------=")
  11. cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
  12. cpp_quote("//")
  13. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF")
  14. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  15. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  16. cpp_quote("// PARTICULAR PURPOSE.")
  17. cpp_quote("//=--------------------------------------------------------------------------=")
  18. cpp_quote("")
  19. cpp_quote("#pragma comment(lib,"uuid.lib")")
  20. cpp_quote("")
  21. cpp_quote("//---------------------------------------------------------------------------=")
  22. cpp_quote("// Empty Volume Cache Interfaces.")
  23. cpp_quote("")
  24. import "objidl.idl";
  25. import "oleidl.idl";
  26. import "oaidl.idl";
  27. interface IEmptyVolumeCache;
  28. interface IEmptyVolumeCache2;
  29. cpp_quote("// IEmptyVolumeCache Flags")
  30. #pragma midl_echo("#define EVCF_HASSETTINGS             0x0001")
  31. #pragma midl_echo("#define EVCF_ENABLEBYDEFAULT         0x0002")
  32. #pragma midl_echo("#define EVCF_REMOVEFROMLIST          0x0004")
  33. #pragma midl_echo("#define EVCF_ENABLEBYDEFAULT_AUTO    0x0008")
  34. #pragma midl_echo("#define EVCF_DONTSHOWIFZERO          0x0010")
  35. #pragma midl_echo("#define EVCF_SETTINGSMODE            0x0020")
  36. #pragma midl_echo("#define EVCF_OUTOFDISKSPACE          0x0040")
  37. cpp_quote("")
  38. cpp_quote("// IEmptyVolumeCacheCallBack Flags")
  39. #pragma midl_echo("#define EVCCBF_LASTNOTIFICATION  0x0001")
  40. cpp_quote("")
  41. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  42. cpp_quote("//  Interface Definitions")
  43. //+---------------------------------------------------------------------------
  44. //
  45. //  Copyright (c) Microsoft Corporation. All rights reserved.
  46. //
  47. //  Contents:    IEmptyVolumeCacheCallBack interface definition
  48. //
  49. //----------------------------------------------------------------------------
  50. cpp_quote("#ifndef _LPEMPTYVOLUMECACHECALLBACK_DEFINED")
  51. cpp_quote("#define _LPEMPTYVOLUMECACHECALLBACK_DEFINED")
  52. [
  53.     object,
  54.     uuid(6E793361-73C6-11D0-8469-00AA00442901),
  55.     pointer_default(unique)
  56. ]
  57. interface IEmptyVolumeCacheCallBack : IUnknown
  58. {
  59.     typedef [unique] IEmptyVolumeCacheCallBack* LPEMPTYVOLUMECACHECALLBACK;
  60.     HRESULT ScanProgress(
  61.         [in] DWORDLONG dwlSpaceUsed,
  62.         [in] DWORD dwFlags,
  63.         [in] LPCWSTR pcwszStatus
  64.         );
  65.     HRESULT PurgeProgress(
  66.         [in] DWORDLONG dwlSpaceFreed,
  67.         [in] DWORDLONG dwlSpaceToFree,
  68.         [in] DWORD dwFlags,
  69.         [in] LPCWSTR pcwszStatus
  70.         );
  71. }
  72. cpp_quote("#endif")
  73. //+---------------------------------------------------------------------------
  74. //
  75. //  Copyright (c) Microsoft Corporation. All rights reserved.
  76. //
  77. //  Contents:    IEmptyVolumeCache interface definition
  78. //
  79. //----------------------------------------------------------------------------
  80. cpp_quote("#ifndef _LPEMPTYVOLUMECACHE_DEFINED")
  81. cpp_quote("#define _LPEMPTYVOLUMECACHE_DEFINED")
  82. [
  83.     object,
  84.     uuid(8FCE5227-04DA-11d1-A004-00805F8ABE06),
  85.     pointer_default(unique)
  86. ]
  87. interface IEmptyVolumeCache : IUnknown
  88. {
  89.     typedef [unique] IEmptyVolumeCache* LPEMPTYVOLUMECACHE;
  90.     [local]
  91.     HRESULT Initialize(
  92.         [in] HKEY hkRegKey,
  93.         [in] LPCWSTR pcwszVolume,
  94.         [out] LPWSTR *ppwszDisplayName,
  95.         [out] LPWSTR *ppwszDescription,
  96.         [out] DWORD *pdwFlags
  97.         );
  98.     HRESULT GetSpaceUsed(
  99.         [out] DWORDLONG *pdwlSpaceUsed,
  100.         [in] IEmptyVolumeCacheCallBack *picb
  101.         );
  102.     HRESULT Purge(
  103.         [in] DWORDLONG dwlSpaceToFree,
  104.         [in] IEmptyVolumeCacheCallBack *picb
  105.         );
  106.     HRESULT ShowProperties(
  107.         [in] HWND hwnd
  108.         );
  109.     HRESULT Deactivate(
  110.         [out] DWORD *pdwFlags
  111.         );
  112. }
  113. cpp_quote("#endif")
  114. //+---------------------------------------------------------------------------
  115. //
  116. //  Copyright (c) Microsoft Corporation. All rights reserved.
  117. //
  118. //  Contents:    IEmptyVolumeCache2 interface definition
  119. //
  120. //----------------------------------------------------------------------------
  121. cpp_quote("#ifndef _LPEMPTYVOLUMECACHE2_DEFINED")
  122. cpp_quote("#define _LPEMPTYVOLUMECACHE2_DEFINED")
  123. [
  124.     object,
  125.     uuid(02b7e3ba-4db3-11d2-b2d9-00c04f8eec8c),
  126.     pointer_default(unique)
  127. ]
  128. interface IEmptyVolumeCache2 : IEmptyVolumeCache
  129. {
  130.     typedef [unique] IEmptyVolumeCache2* LPEMPTYVOLUMECACHE2;
  131.     [local]
  132.     HRESULT InitializeEx(
  133.         [in] HKEY hkRegKey,
  134.         [in] LPCWSTR pcwszVolume,
  135.         [in] LPCWSTR pcwszKeyName,
  136.         [out] LPWSTR *ppwszDisplayName,
  137.         [out] LPWSTR *ppwszDescription,
  138.         [out] LPWSTR *ppwszBtnText,
  139.         [out] DWORD *pdwFlags
  140.         );
  141. }
  142. cpp_quote("#endif")