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