[PATCH] include: Complete IMimeHeaderTable/IMimeEnumHeaderRows interfaces.
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Thu Jun 27 00:15:16 CDT 2019
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
include/mimeole.idl | 124 +++++++++++++++++++++++++++++++++++++-------
1 file changed, 105 insertions(+), 19 deletions(-)
diff --git a/include/mimeole.idl b/include/mimeole.idl
index cc80c12f47..b560caeed1 100644
--- a/include/mimeole.idl
+++ b/include/mimeole.idl
@@ -495,13 +495,117 @@ library MIMEOLE
[out, ref] LPPROPVARIANT pValue);
}
+ [
+ uuid(c558834d-7f86-11d0-8252-00c04fd85ab4),
+ object
+ ]
+ interface IMimeEnumHeaderRows : IUnknown
+ {
+ typedef struct tagENUMHEADERROW
+ {
+ HHEADERROW hRow;
+ LPSTR pszHeader;
+ LPSTR pszData;
+ ULONG cchData;
+ DWORD_PTR dwReserved;
+ } ENUMHEADERROW, *LPENUMHEADERROW;
+
+ HRESULT Next(
+ [in] ULONG fetch,
+ [in,out] LPENUMHEADERROW row,
+ [out] ULONG *fetched);
+
+ HRESULT Skip(
+ [in] ULONG items);
+
+ HRESULT Reset(void);
+
+ HRESULT Clone(
+ [out] IMimeEnumHeaderRows **rows);
+
+ HRESULT Count(
+ [out] ULONG *pcItems);
+ }
+
[
uuid(fd853cd1-7f86-11d0-8252-00c04fd85ab4),
object
]
interface IMimeHeaderTable : IPersistStream
{
- /* FIXME: fill this in */
+ typedef struct tagFINDHEADER
+ {
+ LPCSTR pszHeader;
+ DWORD dwReserved;
+ } FINDHEADER, *LPFINDHEADER;
+
+ typedef struct tagHEADERROWINFO
+ {
+ DWORD dwRowNumber;
+ ULONG cboffStart;
+ ULONG cboffColon;
+ ULONG cboffEnd;
+ } HEADERROWINFO, *LPHEADERROWINFO;
+
+ typedef enum tagHEADERTABLEFLAGS
+ {
+ HTF_NAMEINDATA = 0x00000001,
+ HTF_ENUMHANDLESONLY = 0x00000002
+ } HEADERTABLEFLAGS;
+
+ HRESULT FindFirstRow(
+ [in] LPFINDHEADER header,
+ [out] LPHHEADERROW row);
+
+ HRESULT FindNextRow(
+ [in] LPFINDHEADER header,
+ [out] LPHHEADERROW row);
+
+ HRESULT CountRows(
+ [in] const char *header,
+ [out] ULONG *rows);
+
+ HRESULT AppendRow(
+ [in] const char *header,
+ [in] DWORD flags,
+ [in] const char *data,
+ [in] ULONG count,
+ [out] LPHHEADERROW row);
+
+ HRESULT DeleteRow(
+ [in] HHEADERROW row);
+
+ HRESULT GetRowData(
+ [in] HHEADERROW row,
+ [in] DWORD flags,
+ [out] char **data,
+ [out] ULONG *len);
+
+ HRESULT SetRowData(
+ [in] HHEADERROW row,
+ [in] DWORD flags,
+ [in] const char *data,
+ [in] ULONG len);
+
+ HRESULT GetRowInfo(
+ [in] HHEADERROW row,
+ [in,out] LPHEADERROWINFO info);
+
+ HRESULT SetRowNumber(
+ [in] HHEADERROW row,
+ [in] DWORD number);
+
+ HRESULT EnumRows(
+ [in] const char *header,
+ [in] DWORD flags,
+ [out] IMimeEnumHeaderRows **rows);
+
+ HRESULT Clone(
+ [out] IMimeHeaderTable **table);
+
+ HRESULT BindToObject(
+ [in] REFIID riid,
+ [out, iid_is(riid)] void *object);
}
[
@@ -1256,24 +1360,6 @@ cpp_quote("#endif")
/* FIXME: fill this in */
}
- [
- uuid(c558834d-7f86-11d0-8252-00c04fd85ab4),
- object
- ]
- interface IMimeEnumHeaderRows : IUnknown
- {
- typedef struct tagENUMHEADERROW
- {
- HHEADERROW hRow;
- LPSTR pszHeader;
- LPSTR pszData;
- ULONG cchData;
- DWORD_PTR dwReserved;
- } ENUMHEADERROW, *LPENUMHEADERROW;
-
- /* FIXME: fill this in */
- }
-
[
uuid(fd853cee-7f86-11d0-8252-00c04fd85ab4),
object
--
2.17.1
More information about the wine-devel
mailing list