1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _INC_MSRDC
|
---|
7 | #define _INC_MSRDC
|
---|
8 |
|
---|
9 | #if (_WIN32_WINNT >= 0x0600)
|
---|
10 |
|
---|
11 | typedef UINT SimilarityFileIndexT;
|
---|
12 |
|
---|
13 | typedef enum _GeneratorParametersType {
|
---|
14 | RDCGENTYPE_Unused = 0,
|
---|
15 | RDCGENTYPE_FilterMax = 1
|
---|
16 | } GeneratorParametersType;
|
---|
17 |
|
---|
18 | typedef enum _RdcCreatedTables {
|
---|
19 | RDCTABLE_InvalidOrUnknown = 0,
|
---|
20 | RDCTABLE_Existing = 1,
|
---|
21 | RDCTABLE_New = 2
|
---|
22 | } RdcCreatedTables;
|
---|
23 |
|
---|
24 | typedef enum _RdcMappingAccessMode {
|
---|
25 | RDCMAPPING_Undefined = 0,
|
---|
26 | RDCMAPPING_ReadOnly = 1,
|
---|
27 | RDCMAPPING_ReadWrite = 2
|
---|
28 | } RdcMappingAccessMode;
|
---|
29 |
|
---|
30 | typedef enum _RDC_ErrorCode {
|
---|
31 | RDC_NoError = 0,
|
---|
32 | RDC_HeaderVersionNewer = 1,
|
---|
33 | RDC_HeaderVersionOlder = 2,
|
---|
34 | RDC_HeaderMissingOrCorrupt = 3,
|
---|
35 | RDC_HeaderWrongType = 4,
|
---|
36 | RDC_DataMissingOrCorrupt = 5,
|
---|
37 | RDC_DataTooManyRecords = 6,
|
---|
38 | RDC_FileChecksumMismatch = 7,
|
---|
39 | RDC_ApplicationError = 8,
|
---|
40 | RDC_Aborted = 9,
|
---|
41 | RDC_Win32Error = 10
|
---|
42 | } RDC_ErrorCode;
|
---|
43 |
|
---|
44 | typedef enum _RdcNeedType {
|
---|
45 | RDCNEED_SOURCE = 0,
|
---|
46 | RDCNEED_TARGET = 1,
|
---|
47 | RDCNEED_SEED = 2,
|
---|
48 | RDCNEED_SEED_MAX = 255
|
---|
49 | } RdcNeedType;
|
---|
50 |
|
---|
51 | typedef struct _FindSimilarFileIndexResults {
|
---|
52 | SimilarityFileIndexT m_FileIndex;
|
---|
53 | unsigned m_MatchCount;
|
---|
54 | } FindSimilarFileIndexResults;
|
---|
55 |
|
---|
56 | typedef struct _RdcBufferPointer {
|
---|
57 | ULONG m_Size;
|
---|
58 | ULONG m_Used;
|
---|
59 | BYTE *m_Data;
|
---|
60 | } RdcBufferPointer;
|
---|
61 |
|
---|
62 | typedef struct _RdcNeed {
|
---|
63 | RdcNeedType m_BlockType;
|
---|
64 | unsigned __int64 m_FileOffset;
|
---|
65 | unsigned __int64 m_BlockLength;
|
---|
66 | } RdcNeed;
|
---|
67 |
|
---|
68 | typedef struct _RdcNeedPointer {
|
---|
69 | ULONG m_Size;
|
---|
70 | ULONG m_Used;
|
---|
71 | RdcNeed *m_Data;
|
---|
72 | } RdcNeedPointer;
|
---|
73 |
|
---|
74 | typedef struct _RdcSignature {
|
---|
75 | BYTE m_Signature[MSRDC_SIGNATURE_HASHSIZE];
|
---|
76 | USHORT m_BlockLength;
|
---|
77 | } RdcSignature;
|
---|
78 |
|
---|
79 | typedef struct _RdcSignaturePointer {
|
---|
80 | ULONG m_Size;
|
---|
81 | ULONG m_Used;
|
---|
82 | RdcSignature *m_Data;
|
---|
83 | } RdcSignaturePointer;
|
---|
84 |
|
---|
85 | typedef struct _SimilarityData {
|
---|
86 | unsigned char m_Data[16];
|
---|
87 | } SimilarityData;
|
---|
88 |
|
---|
89 | typedef struct _SimilarityDumpData {
|
---|
90 | SimilarityFileIndexT m_FileIndex;
|
---|
91 | SimilarityData m_Data;
|
---|
92 | } SimilarityDumpData;
|
---|
93 |
|
---|
94 | typedef struct _SimilarityFileId {
|
---|
95 | byte m_FileId[SimilarityFileIdMaxSize];
|
---|
96 | } SimilarityFileId;
|
---|
97 |
|
---|
98 | struct SimilarityMappedViewInfo {
|
---|
99 | unsigned char *m_Data;
|
---|
100 | DWORD m_Length;
|
---|
101 | };
|
---|
102 |
|
---|
103 | #undef INTERFACE
|
---|
104 | #define INTERFACE IRdcFileWriter
|
---|
105 | #ifdef __GNUC__
|
---|
106 | #warning COM interfaces layout in this header has not been verified.
|
---|
107 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
108 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
109 | #endif
|
---|
110 | DECLARE_INTERFACE_(IRdcFileWriter,IUnknown)
|
---|
111 | {
|
---|
112 | BEGIN_INTERFACE
|
---|
113 |
|
---|
114 | /* IUnknown methods */
|
---|
115 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
116 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
117 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
118 |
|
---|
119 | /* IRdcFileWriter methods */
|
---|
120 | STDMETHOD_(HRESULT,Write)(THIS_ ULONGLONG offsetFileStart,ULONG bytesToWrite,BYTE *buffer) PURE;
|
---|
121 | STDMETHOD_(HRESULT,Truncate)(THIS) PURE;
|
---|
122 | STDMETHOD_(HRESULT,DeleteOnClose)(THIS) PURE;
|
---|
123 |
|
---|
124 | END_INTERFACE
|
---|
125 | };
|
---|
126 | #ifdef COBJMACROS
|
---|
127 | #define IRdcFileWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
128 | #define IRdcFileWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
129 | #define IRdcFileWriter_Release(This) (This)->lpVtbl->Release(This)
|
---|
130 | #define IRdcFileWriter_Write(This,offsetFileStart,bytesToWrite,buffer) (This)->lpVtbl->Write(This,offsetFileStart,bytesToWrite,buffer)
|
---|
131 | #define IRdcFileWriter_Truncate() (This)->lpVtbl->Truncate(This)
|
---|
132 | #define IRdcFileWriter_DeleteOnClose() (This)->lpVtbl->DeleteOnClose(This)
|
---|
133 | #endif /*COBJMACROS*/
|
---|
134 |
|
---|
135 | #undef INTERFACE
|
---|
136 | #define INTERFACE ISimilarityFileIdTable
|
---|
137 | #ifdef __GNUC__
|
---|
138 | #warning COM interfaces layout in this header has not been verified.
|
---|
139 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
140 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
141 | #endif
|
---|
142 | DECLARE_INTERFACE_(ISimilarityFileIdTable,IUnknown)
|
---|
143 | {
|
---|
144 | BEGIN_INTERFACE
|
---|
145 |
|
---|
146 | /* IUnknown methods */
|
---|
147 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
148 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
149 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
150 |
|
---|
151 | /* ISimilarityFileIdTable methods */
|
---|
152 | STDMETHOD_(HRESULT,CreateTable)(THIS_ wchar_t *path,WINBOOL truncate,BYTE *securityDescriptor,DWORD recordSize,RdcCreatedTables *isNew) PURE;
|
---|
153 | STDMETHOD_(HRESULT,CreateTableIndirect)(THIS_ IRdcFileWriter *fileIdFile,WINBOOL truncate,DWORD recordSize,RdcCreatedTables *isNew) PURE;
|
---|
154 | STDMETHOD_(HRESULT,CloseTable)(THIS_ WINBOOL isValid) PURE;
|
---|
155 | STDMETHOD_(HRESULT,Append)(THIS_ SimilarityFileId *similarityFileId,SimilarityFileIndexT *similarityFileIndex) PURE;
|
---|
156 | STDMETHOD_(HRESULT,Lookup)(THIS_ SimilarityFileIndexT similarityFileIndex,SimilarityFileId *similarityFileId) PURE;
|
---|
157 | STDMETHOD_(HRESULT,Invalidate)(THIS_ SimilarityFileIndexT similarityFileIndex) PURE;
|
---|
158 | STDMETHOD_(HRESULT,GetRecordCount)(THIS_ DWORD *recordCount) PURE;
|
---|
159 |
|
---|
160 | END_INTERFACE
|
---|
161 | };
|
---|
162 | #ifdef COBJMACROS
|
---|
163 | #define ISimilarityFileIdTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
164 | #define ISimilarityFileIdTable_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
165 | #define ISimilarityFileIdTable_Release(This) (This)->lpVtbl->Release(This)
|
---|
166 | #define ISimilarityFileIdTable_CreateTable(This,path,truncate,securityDescriptor,recordSize,isNew) (This)->lpVtbl->CreateTable(This,path,truncate,securityDescriptor,recordSize,isNew)
|
---|
167 | #define ISimilarityFileIdTable_CreateTableIndirect(This,fileIdFile,truncate,recordSize,isNew) (This)->lpVtbl->CreateTableIndirect(This,fileIdFile,truncate,recordSize,isNew)
|
---|
168 | #define ISimilarityFileIdTable_CloseTable(This,isValid) (This)->lpVtbl->CloseTable(This,isValid)
|
---|
169 | #define ISimilarityFileIdTable_Append(This,similarityFileId,similarityFileIndex) (This)->lpVtbl->Append(This,similarityFileId,similarityFileIndex)
|
---|
170 | #define ISimilarityFileIdTable_Lookup(This,similarityFileIndex,similarityFileId) (This)->lpVtbl->Lookup(This,similarityFileIndex,similarityFileId)
|
---|
171 | #define ISimilarityFileIdTable_Invalidate(This,similarityFileIndex) (This)->lpVtbl->Invalidate(This,similarityFileIndex)
|
---|
172 | #define ISimilarityFileIdTable_GetRecordCount(This,recordCount) (This)->lpVtbl->GetRecordCount(This,recordCount)
|
---|
173 | #endif /*COBJMACROS*/
|
---|
174 |
|
---|
175 | #undef INTERFACE
|
---|
176 | #define INTERFACE ISimilarityTraitsMappedView
|
---|
177 | #ifdef __GNUC__
|
---|
178 | #warning COM interfaces layout in this header has not been verified.
|
---|
179 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
180 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
181 | #endif
|
---|
182 | DECLARE_INTERFACE_(ISimilarityTraitsMappedView,IUnknown)
|
---|
183 | {
|
---|
184 | BEGIN_INTERFACE
|
---|
185 |
|
---|
186 | /* IUnknown methods */
|
---|
187 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
188 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
189 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
190 |
|
---|
191 | /* ISimilarityTraitsMappedView methods */
|
---|
192 | STDMETHOD_(HRESULT,Flush)(THIS) PURE;
|
---|
193 | STDMETHOD_(HRESULT,Unmap)(THIS) PURE;
|
---|
194 | STDMETHOD_(HRESULT,Get)(THIS_ unsigned __int64 fileOffset,WINBOOL dirty,DWORD numElements,SimilarityMappedViewInfo *viewInfo) PURE;
|
---|
195 | STDMETHOD(GetView)(THIS_ unsigned char const **mappedPageBegin,unsigned char const **mappedPageEnd) PURE;
|
---|
196 |
|
---|
197 | END_INTERFACE
|
---|
198 | };
|
---|
199 | #ifdef COBJMACROS
|
---|
200 | #define ISimilarityTraitsMappedView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
201 | #define ISimilarityTraitsMappedView_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
202 | #define ISimilarityTraitsMappedView_Release(This) (This)->lpVtbl->Release(This)
|
---|
203 | #define ISimilarityTraitsMappedView_Flush() (This)->lpVtbl->Flush(This)
|
---|
204 | #define ISimilarityTraitsMappedView_Unmap() (This)->lpVtbl->Unmap(This)
|
---|
205 | #define ISimilarityTraitsMappedView_Get(This,fileOffset,dirty,numElements,viewInfo) (This)->lpVtbl->Get(This,fileOffset,dirty,numElements,viewInfo)
|
---|
206 | #define ISimilarityTraitsMappedView_GetView(This,mappedPageBegin,mappedPageEnd) (This)->lpVtbl->GetView(This,mappedPageBegin,mappedPageEnd)
|
---|
207 | #endif /*COBJMACROS*/
|
---|
208 |
|
---|
209 | #undef INTERFACE
|
---|
210 | #define INTERFACE IFindSimilarResults
|
---|
211 | #ifdef __GNUC__
|
---|
212 | #warning COM interfaces layout in this header has not been verified.
|
---|
213 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
214 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
215 | #endif
|
---|
216 | DECLARE_INTERFACE_(IFindSimilarResults,IUnknown)
|
---|
217 | {
|
---|
218 | BEGIN_INTERFACE
|
---|
219 |
|
---|
220 | /* IUnknown methods */
|
---|
221 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
222 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
223 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
224 |
|
---|
225 | /* IFindSimilarResults methods */
|
---|
226 | STDMETHOD_(HRESULT,GetSize)(THIS_ DWORD *size) PURE;
|
---|
227 | STDMETHOD_(HRESULT,GetNextFileId)(THIS_ DWORD *numTraitsMatched,SimilarityFileId *similarityFileId) PURE;
|
---|
228 |
|
---|
229 | END_INTERFACE
|
---|
230 | };
|
---|
231 | #ifdef COBJMACROS
|
---|
232 | #define IFindSimilarResults_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
233 | #define IFindSimilarResults_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
234 | #define IFindSimilarResults_Release(This) (This)->lpVtbl->Release(This)
|
---|
235 | #define IFindSimilarResults_GetSize(This,size) (This)->lpVtbl->GetSize(This,size)
|
---|
236 | #define IFindSimilarResults_GetNextFileId(This,numTraitsMatched,similarityFileId) (This)->lpVtbl->GetNextFileId(This,numTraitsMatched,similarityFileId)
|
---|
237 | #endif /*COBJMACROS*/
|
---|
238 |
|
---|
239 | #undef INTERFACE
|
---|
240 | #define INTERFACE ISimilarityTraitsMapping
|
---|
241 | #ifdef __GNUC__
|
---|
242 | #warning COM interfaces layout in this header has not been verified.
|
---|
243 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
244 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
245 | #endif
|
---|
246 | DECLARE_INTERFACE_(ISimilarityTraitsMapping,IUnknown)
|
---|
247 | {
|
---|
248 | BEGIN_INTERFACE
|
---|
249 |
|
---|
250 | /* IUnknown methods */
|
---|
251 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
252 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
253 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
254 |
|
---|
255 | /* ISimilarityTraitsMapping methods */
|
---|
256 | STDMETHOD(CloseMapping)(THIS) PURE;
|
---|
257 | STDMETHOD_(HRESULT,SetFileSize)(THIS_ unsigned __int64 *fileSize) PURE;
|
---|
258 | STDMETHOD_(HRESULT,GetFileSize)(THIS_ unsigned __int64 *fileSize) PURE;
|
---|
259 | STDMETHOD_(HRESULT,OpenMapping)(THIS_ RdcMappingAccessMode accessMode,unsigned __int64 begin,unsigned __int64 end,unsigned __int64 *actualEnd) PURE;
|
---|
260 | STDMETHOD_(HRESULT,ResizeMapping)(THIS_ RdcMappingAccessMode accessMode,unsigned __int64 begin,unsigned __int64 end,unsigned __int64 *actualEnd) PURE;
|
---|
261 | STDMETHOD(GetPageSize)(THIS_ DWORD *pageSize) PURE;
|
---|
262 | STDMETHOD_(HRESULT,CreateView)(THIS_ DWORD minimumMappedPages,RdcMappingAccessMode accessMode,ISimilarityTraitsMappedView **mappedView) PURE;
|
---|
263 |
|
---|
264 | END_INTERFACE
|
---|
265 | };
|
---|
266 | #ifdef COBJMACROS
|
---|
267 | #define ISimilarityTraitsMapping_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
268 | #define ISimilarityTraitsMapping_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
269 | #define ISimilarityTraitsMapping_Release(This) (This)->lpVtbl->Release(This)
|
---|
270 | #define ISimilarityTraitsMapping_CloseMapping() (This)->lpVtbl->CloseMapping(This)
|
---|
271 | #define ISimilarityTraitsMapping_SetFileSize(This,fileSize) (This)->lpVtbl->SetFileSize(This,fileSize)
|
---|
272 | #define ISimilarityTraitsMapping_GetFileSize(This,fileSize) (This)->lpVtbl->GetFileSize(This,fileSize)
|
---|
273 | #define ISimilarityTraitsMapping_OpenMapping(This,accessMode,begin,end,actualEnd) (This)->lpVtbl->OpenMapping(This,accessMode,begin,end,actualEnd)
|
---|
274 | #define ISimilarityTraitsMapping_ResizeMapping(This,accessMode,begin,end,actualEnd) (This)->lpVtbl->ResizeMapping(This,accessMode,begin,end,actualEnd)
|
---|
275 | #define ISimilarityTraitsMapping_GetPageSize(This,pageSize) (This)->lpVtbl->GetPageSize(This,pageSize)
|
---|
276 | #define ISimilarityTraitsMapping_CreateView(This,minimumMappedPages,accessMode,mappedView) (This)->lpVtbl->CreateView(This,minimumMappedPages,accessMode,mappedView)
|
---|
277 | #endif /*COBJMACROS*/
|
---|
278 |
|
---|
279 | #undef INTERFACE
|
---|
280 | #define INTERFACE ISimilarityReportProgress
|
---|
281 | #ifdef __GNUC__
|
---|
282 | #warning COM interfaces layout in this header has not been verified.
|
---|
283 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
284 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
285 | #endif
|
---|
286 | DECLARE_INTERFACE_(ISimilarityReportProgress,IUnknown)
|
---|
287 | {
|
---|
288 | BEGIN_INTERFACE
|
---|
289 |
|
---|
290 | /* IUnknown methods */
|
---|
291 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
292 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
293 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
294 |
|
---|
295 | /* ISimilarityReportProgress methods */
|
---|
296 | STDMETHOD_(HRESULT,ReportProgress)(THIS_ DWORD percentCompleted) PURE;
|
---|
297 |
|
---|
298 | END_INTERFACE
|
---|
299 | };
|
---|
300 | #ifdef COBJMACROS
|
---|
301 | #define ISimilarityReportProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
302 | #define ISimilarityReportProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
303 | #define ISimilarityReportProgress_Release(This) (This)->lpVtbl->Release(This)
|
---|
304 | #define ISimilarityReportProgress_ReportProgress(This,percentCompleted) (This)->lpVtbl->ReportProgress(This,percentCompleted)
|
---|
305 | #endif /*COBJMACROS*/
|
---|
306 |
|
---|
307 | #undef INTERFACE
|
---|
308 | #define INTERFACE ISimilarity
|
---|
309 | #ifdef __GNUC__
|
---|
310 | #warning COM interfaces layout in this header has not been verified.
|
---|
311 | #warning COM interfaces with incorrect layout may not work at all.
|
---|
312 | __MINGW_BROKEN_INTERFACE(INTERFACE)
|
---|
313 | #endif
|
---|
314 | DECLARE_INTERFACE_(ISimilarity,IUnknown)
|
---|
315 | {
|
---|
316 | BEGIN_INTERFACE
|
---|
317 |
|
---|
318 | /* IUnknown methods */
|
---|
319 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
|
---|
320 | STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
---|
321 | STDMETHOD_(ULONG, Release)(THIS) PURE;
|
---|
322 |
|
---|
323 | /* ISimilarity methods */
|
---|
324 | STDMETHOD_(HRESULT,CreateTable)(THIS_ wchar_t *path,WINBOOL truncate,BYTE *securityDescriptor,DWORD recordSize,RdcCreatedTables *isNew) PURE;
|
---|
325 | STDMETHOD_(HRESULT,CreateTableIndirect)(THIS_ ISimilarityTraitsMapping *mapping,IRdcFileWriter *fileIdFile,WINBOOL truncate,DWORD recordSize,RdcCreatedTables *isNew) PURE;
|
---|
326 | STDMETHOD_(HRESULT,CloseTable)(THIS_ WINBOOL isValid) PURE;
|
---|
327 | STDMETHOD_(HRESULT,Append)(THIS_ SimilarityFileId *similarityFileId,SimilarityData *similarityData) PURE;
|
---|
328 | STDMETHOD_(HRESULT,FindSimilarFileId)(THIS_ SimilarityData *similarityData,DWORD resultsSize,IFindSimilarResults **findSimilarResults) PURE;
|
---|
329 | STDMETHOD_(HRESULT,CopyAndSwap)(THIS_ ISimilarityReportProgress *reportProgress) PURE;
|
---|
330 | STDMETHOD_(HRESULT,GetRecordCount)(THIS_ DWORD *recordCount) PURE;
|
---|
331 |
|
---|
332 | END_INTERFACE
|
---|
333 | };
|
---|
334 | #ifdef COBJMACROS
|
---|
335 | #define ISimilarity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
---|
336 | #define ISimilarity_AddRef(This) (This)->lpVtbl->AddRef(This)
|
---|
337 | #define ISimilarity_Release(This) (This)->lpVtbl->Release(This)
|
---|
338 | #define ISimilarity_CreateTable(This,path,truncate,securityDescriptor,recordSize,isNew) (This)->lpVtbl->CreateTable(This,path,truncate,securityDescriptor,recordSize,isNew)
|
---|
339 | #define ISimilarity_CreateTableIndirect(This,mapping,fileIdFile,truncate,recordSize,isNew) (This)->lpVtbl->CreateTableIndirect(This,mapping,fileIdFile,truncate,recordSize,isNew)
|
---|
340 | #define ISimilarity_CloseTable(This,isValid) (This)->lpVtbl->CloseTable(This,isValid)
|
---|
341 | #define ISimilarity_Append(This,similarityFileId,similarityData) (This)->lpVtbl->Append(This,similarityFileId,similarityData)
|
---|
342 | #define ISimilarity_FindSimilarFileId(This,similarityData,resultsSize,findSimilarResults) (This)->lpVtbl->FindSimilarFileId(This,similarityData,resultsSize,findSimilarResults)
|
---|
343 | #define ISimilarity_CopyAndSwap(This,reportProgress) (This)->lpVtbl->CopyAndSwap(This,reportProgress)
|
---|
344 | #define ISimilarity_GetRecordCount(This,recordCount) (This)->lpVtbl->GetRecordCount(This,recordCount)
|
---|
345 | #endif /*COBJMACROS*/
|
---|
346 |
|
---|
347 | #endif /*(_WIN32_WINNT >= 0x0600)*/
|
---|
348 |
|
---|
349 | #endif /* _INC_MSRDC */
|
---|
350 |
|
---|