urlhist.idl 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. /*
  2. * Copyright 2006 Jacek Caban for CodeWeavers
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  17. */
  18. import "objidl.idl";
  19. import "oleidl.idl";
  20. import "oaidl.idl";
  21. import "docobj.idl";
  22. cpp_quote("#define STATURL_QUERYFLAG_ISCACHED 0x010000")
  23. cpp_quote("#define STATURL_QUERYFLAG_NOURL 0x020000")
  24. cpp_quote("#define STATURL_QUERYFLAG_NOTITLE 0x040000")
  25. cpp_quote("#define STATURL_QUERYFLAG_TOPLEVEL 0x080000")
  26. cpp_quote("#define STATURLFLAG_ISCACHED 0x0001")
  27. cpp_quote("#define STATURLFLAG_ISTOPLEVEL 0x0002")
  28. typedef enum _ADDURL_FLAG
  29. {
  30. ADDURL_FIRST = 0,
  31. ADDURL_ADDTOHISTORYANDCACHE = 0,
  32. ADDURL_ADDTOCACHE = 1,
  33. ADDURL_Max = 0x7fffffff
  34. } ADDURL_FLAG;
  35. /*****************************************************************************
  36. * IEnumSTATURL interface
  37. */
  38. [
  39. object,
  40. uuid(3c374a42-bae4-11cf-bf7d-00aa006946ee),
  41. pointer_default(unique)
  42. ]
  43. interface IEnumSTATURL : IUnknown
  44. {
  45. typedef [unique] IEnumSTATURL *LPENUMSTATURL;
  46. typedef struct _STATURL
  47. {
  48. DWORD cbSize;
  49. LPWSTR pwcsUrl;
  50. LPWSTR pwcsTitle;
  51. FILETIME ftLastVisited;
  52. FILETIME ftLastUpdated;
  53. FILETIME ftExpires;
  54. DWORD dwFlags;
  55. } STATURL, *LPSTATURL;
  56. HRESULT Next(
  57. [in] ULONG celt,
  58. [in, out] LPSTATURL rgelt,
  59. [in, out] ULONG *pceltFetched);
  60. HRESULT Skip([in] ULONG celt);
  61. HRESULT Reset();
  62. HRESULT Clone([out] IEnumSTATURL **ppenum);
  63. HRESULT SetFilter(
  64. [in] LPCOLESTR poszFilter,
  65. [in] DWORD dwFlags);
  66. }
  67. /*****************************************************************************
  68. * IUrlHistoryStg interface
  69. */
  70. [
  71. object,
  72. uuid(3c374a41-bae4-11cf-bf7d-00aa006946ee),
  73. pointer_default(unique)
  74. ]
  75. interface IUrlHistoryStg : IUnknown
  76. {
  77. typedef [unique] IUrlHistoryStg *LPURLHISTORYSTG;
  78. HRESULT AddUrl(
  79. [in] LPCOLESTR pocsUrl,
  80. [in, unique] LPCOLESTR pocsTitle,
  81. [in] DWORD dwFlags);
  82. HRESULT DeleteUrl(
  83. [in] LPCOLESTR pocsUrl,
  84. [in] DWORD dwFlags);
  85. HRESULT QueryUrl(
  86. [in] LPCOLESTR pocsUrl,
  87. [in] DWORD dwFlags,
  88. [in, out, unique] LPSTATURL lpSTATURL);
  89. HRESULT BindToObject(
  90. [in] LPCOLESTR pocsUrl,
  91. [in] REFIID riid,
  92. [out, iid_is(riid)] void **ppvOut);
  93. HRESULT EnumUrls(
  94. [out] IEnumSTATURL **ppEnum);
  95. }
  96. /*****************************************************************************
  97. * IUrlHistoryStg2 interface
  98. */
  99. [
  100. object,
  101. uuid(afa0dc11-c313-11d0-831a-00c04fd5ae38),
  102. pointer_default(unique)
  103. ]
  104. interface IUrlHistoryStg2 : IUrlHistoryStg
  105. {
  106. typedef [unique] IUrlHistoryStg2 *LPURLHISTORYSTG2;
  107. HRESULT AddUrlAndNotify(
  108. [in] LPCOLESTR pocsUrl,
  109. [in,unique] LPCOLESTR pocsTitle,
  110. [in] DWORD dwFlags,
  111. [in] BOOL fWriteHistory,
  112. [in] IOleCommandTarget *poctNotify,
  113. [in, unique] IUnknown *punkISFolder);
  114. HRESULT ClearHistory();
  115. }
  116. /*****************************************************************************
  117. * IUrlHistoryNotify interface
  118. */
  119. [
  120. object,
  121. uuid(bc40bec1-c493-11d0-831b-00C04fd5ae38),
  122. pointer_default(unique)
  123. ]
  124. interface IUrlHistoryNotify : IOleCommandTarget
  125. {
  126. typedef [unique] IUrlHistoryNotify *LPURLHISTORYNOTIFY;
  127. }