| 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 |  |