Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.1 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (c) Microsoft Corporation. All rights reserved.
  5. //
  6. // File: propidl.idl
  7. //
  8. //--------------------------------------------------------------------------
  9. cpp_quote("//+-------------------------------------------------------------------------")
  10. cpp_quote("//")
  11. cpp_quote("// Microsoft Windows")
  12. cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
  13. cpp_quote("//")
  14. cpp_quote("//--------------------------------------------------------------------------")
  15. cpp_quote("#if ( _MSC_VER >= 1020 )")
  16. cpp_quote("#pragma once")
  17. cpp_quote("#endif")
  18. #ifndef DO_NO_IMPORTS
  19. import "propidl.idl";
  20. #endif
  21. cpp_quote("#include <pshpack8.h>")
  22. /****************************************************************************
  23. * Property Bag Interfaces
  24. ****************************************************************************/
  25. interface IEnumSTATPROPBAG;
  26. cpp_quote("EXTERN_C const FMTID FMTID_PropertyBag;")
  27. [
  28. object,
  29. uuid(20011801-5DE6-11D1-8E38-00C04FB9386D),
  30. pointer_default(unique)
  31. ]
  32. interface IPropertyBagEx : IUnknown
  33. {
  34. typedef IPropertyBagEx * LPPROPERTYBAGEX;
  35. HRESULT ReadMultiple( [in] ULONG cprops,
  36. [in, size_is(cprops)] LPCOLESTR const rgwszPropNames[],
  37. [in, out, size_is(cprops)] PROPVARIANT rgvar[ ],
  38. [in] IErrorLog* pErrorLog );
  39. HRESULT WriteMultiple( [in] ULONG cprops,
  40. [in, size_is(cprops)] LPCOLESTR const rgwszPropNames[],
  41. [in, size_is(cprops)] const PROPVARIANT rgvar[] );
  42. HRESULT DeleteMultiple( [in] ULONG cprops,
  43. [in, size_is(cprops)] LPCOLESTR const rgwszPropNames[],
  44. [in] DWORD dwReserved );
  45. const DWORD OPENPROPERTY_OVERWRITE = 1;
  46. HRESULT Open( [in] IUnknown* pUnkOuter,
  47. [in] LPCOLESTR wszPropName,
  48. [in] GUID guidPropertyType,
  49. [in] DWORD dwFlags,
  50. [in] REFIID riid,
  51. [out, iid_is(riid)] IUnknown ** ppUnk );
  52. HRESULT Enum( [in] LPCOLESTR wszPropNameMask,
  53. [in] DWORD dwFlags,
  54. [out]IEnumSTATPROPBAG ** ppenum );
  55. }
  56. [
  57. object,
  58. uuid(20021801-5DE6-11D1-8E38-00C04FB9386D),
  59. pointer_default(unique)
  60. ]
  61. interface IEnumSTATPROPBAG: IUnknown
  62. {
  63. typedef [unique] IEnumSTATPROPBAG* LPENUMSTATPROPBAG;
  64. typedef struct tagSTATPROPBAG
  65. {
  66. LPOLESTR lpwstrName;
  67. VARTYPE vt;
  68. GUID guidPropertyType;
  69. } STATPROPBAG;
  70. HRESULT Next(
  71. [in] ULONG celt,
  72. [out, size_is(celt), length_is(*pceltFetched)]
  73. STATPROPBAG* rgelt,
  74. [out] ULONG * pceltFetched
  75. );
  76. HRESULT Skip(
  77. [in] ULONG celt
  78. );
  79. HRESULT Reset();
  80. HRESULT Clone(
  81. [out] IEnumSTATPROPBAG ** ppenum
  82. );
  83. }
  84. cpp_quote("#include <poppack.h>")