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.

109 lines
3.0 KiB

  1. import "wtypes.idl";
  2. import "oaidl.idl";
  3. import "oledb.idl";
  4. #include "idlmulti.h"
  5. typedef DWORD DBOBJTYPE;
  6. enum DBTYPE_ENUM {
  7. DBJETOBJECT_TABLE = 0x0001,
  8. DBJETOBJECT_INDEX = 0x0002,
  9. DBJETOBJECT_VIEWS = 0x0004
  10. };
  11. typedef DWORD USERATTRIBUTESFLAGS;
  12. enum USERATTRIBUTESFLAGS_ENUM {
  13. DBJETOLEDB_USERATTRIBUTES_ALLCOLLECTIONS = 1,
  14. DBJETOLEDB_USERATTRIBUTES_INHERITED = 2,
  15. };
  16. // IDBUserAttributes:
  17. // This interface exposes the ability to talk to the Jet Properties interface
  18. REMOTED_INTERFACE(cb9497b0-20b8-11d2-a4dc-00c04f991c78)
  19. interface IDBUserAttributes : IUnknown {
  20. HRESULT CreateObject(
  21. [in] DBID* pParentID,
  22. [in] DBID* pObjectID,
  23. [in] DBOBJTYPE dwType);
  24. HRESULT DeleteObject(
  25. [in] DBID* pParentID,
  26. [in] DBID* pObjectID);
  27. HRESULT RenameObject(
  28. [in] DBID* pParentID,
  29. [in] DBID* pObjectID,
  30. [in] LPWSTR pwszNewName);
  31. HRESULT DeleteAttribute(
  32. [in] DBID* pParentID,
  33. [in] DBID* pObjectID,
  34. [in] DBID* pSubObjectID,
  35. [in] DBID* pAttributeID);
  36. HRESULT SetAttributeValue(
  37. [in] DBID* pParentID,
  38. [in] DBID* pObjectID,
  39. [in] DBID* pSubObjectID,
  40. [in] DBID* pAttributeID,
  41. [in] VARIANT vValue,
  42. [in] ULONG grbit);
  43. HRESULT GetAttributeValue(
  44. [in] DBID* pParentID,
  45. [in] DBID* pObjectID,
  46. [in] DBID* pSubObjectID,
  47. [in] DBID* pAttributeID,
  48. [in, out] VARIANT* pvValue,
  49. [in] ULONG grbit);
  50. HRESULT GetAttributeRowset(
  51. [in] IUnknown *pUnkOuter,
  52. [in] WCHAR *pwszParentID,
  53. [in] WCHAR *pwszObjectID,
  54. [in] WCHAR *pwszSubObjectID,
  55. [in] WCHAR *pwszAttributeID,
  56. [in] ULONG dwFlags,
  57. [in] ULONG cPropertySets,
  58. [in, out, size_is(cPropertySets)] DBPROPSET *rgPropertySets,
  59. [in] REFIID riid,
  60. [out, iid_is(riid)] IUnknown **ppRowset);
  61. }
  62. // IDBUtility:
  63. // This routine exposes compaction and repair routines from the
  64. // DSO level. Users must have set a valid Userid/pw in their
  65. // properties, just as in IDBDataSourceAdmin, to make this
  66. // function properly.
  67. // There is no Callback support in these routines, nor is
  68. // there an exposed way to pass grbits - if you really need these,
  69. // email <conorc> and plead your case
  70. REMOTED_INTERFACE(2a4b6284-eeb4-11d1-a4d9-00c04f991c78)
  71. interface IJetCompact : IUnknown {
  72. HRESULT Compact
  73. (
  74. [in] ULONG cPropertySets,
  75. [in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[]
  76. );
  77. }
  78. // IIdle - used to expose the JetIdle inteface
  79. // Appears off the session object in OLEDB
  80. REMOTED_INTERFACE(f497cfc8-8ed8-11d1-9f09-00c04fc2c2e0)
  81. interface IIdle : IUnknown
  82. {
  83. HRESULT Idle(
  84. [in] ULONG dwFlags
  85. );
  86. }