xpmgr/BuildTools/Include/msrdc.idl

776 lines
24 KiB
Plaintext

// MSRDC.idl : IDL source for MSRDC
// Updated 2/14/2005 10:25am
//
// This file will be processed by the MIDL tool to
// produce the type library (MSRDC.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
#ifdef MSRDCLIB // PRIVATE
#include "guids.h" // PRIVATE
#endif // PRIVATE
#ifndef GUID_IID_IRdcGeneratorParameters
#define GUID_IID_IRdcGeneratorParameters 96236A71-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IRdcGeneratorFilterMaxParameters 96236A72-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IRdcGenerator 96236A73-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IRdcFileReader 96236A74-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IRdcFileWriter 96236A75-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IRdcSignatureReader 96236A76-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IRdcComparator 96236A77-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IRdcLibrary 96236A78-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_ISimilarityReportProgress 96236A7A-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_ISimilarityTableDumpState 96236A7B-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_ISimilarityTraitsMappedView 96236A7C-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_ISimilarityTraitsMapping 96236A7D-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_ISimilarityTraitsTable 96236A7E-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_ISimilarityFileIdTable 96236A7F-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IRdcSimilarityGenerator 96236A80-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_IFindSimilarResults 96236A81-9DBC-11DA-9E3F-0011114AE311
#define GUID_IID_ISimilarity 96236A83-9DBC-11DA-9E3F-0011114AE311
#define GUID_LIBID_MSRDCLib 96236A84-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_RdcLibrary 96236A85-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_RdcGeneratorParameters 96236A86-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_RdcGeneratorFilterMaxParameters 96236A87-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_RdcGenerator 96236A88-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_RdcFileReader 96236A89-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_RdcSignatureReader 96236A8A-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_RdcComparator 96236A8B-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_SimilarityReportProgress 96236A8D-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_SimilarityTableDumpState 96236A8E-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_SimilarityTraitsTable 96236A8F-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_SimilarityFileIdTable 96236A90-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_Similarity 96236A91-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_RdcSimilarityGenerator 96236A92-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_FindSimilarResults 96236A93-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_SimilarityTraitsMapping 96236A94-9DBC-11DA-9E3F-0011114AE311
#define GUID_CLSID_SimilarityTraitsMappedView 96236A95-9DBC-11DA-9E3F-0011114AE311
#endif
const unsigned RDCE_TABLE_FULL = 0x80040001; // FileID table only allows at most 2^32 entries
const unsigned RDCE_TABLE_CORRUPT = 0x80040002; // similarity tables need to be deleted and rebuilt
cpp_quote("#pragma warning( disable: 4100 )") /* unreferenced formal parameter */
cpp_quote("#pragma warning( disable: 4152 )") /* nonstandard extension, function/data pointer conversion in expression */
/*
Define the version of this library
*/
cpp_quote("const ULONG MSRDC_VERSION = 0x010000;")
/*
Define the minimum version of an application
compiled for RDC_SDK that will work with this
version of the SDK.
*/
cpp_quote("const ULONG MSRDC_MINIMUM_COMPATIBLE_APP_VERSION = 0x010000;")
cpp_quote("const ULONG MSRDC_MINIMUM_DEPTH = 1;")
cpp_quote("const ULONG MSRDC_MAXIMUM_DEPTH = 8;") // Win32SignatureGeneration::MaxGenerationDepth
cpp_quote("const ULONG MSRDC_MINIMUM_COMPAREBUFFER = 100000;")
cpp_quote("const ULONG MSRDC_MAXIMUM_COMPAREBUFFER = (1<<30);")
cpp_quote("const ULONG MSRDC_DEFAULT_COMPAREBUFFER = 3200000;")
cpp_quote("const ULONG MSRDC_MINIMUM_INPUTBUFFERSIZE = 1024;")
const ULONG MSRDC_SIGNATURE_HASHSIZE = 16;
cpp_quote("const ULONG MSRDC_MINIMUM_HORIZONSIZE = 128;")
cpp_quote("const ULONG MSRDC_MAXIMUM_HORIZONSIZE = 1024 * 16;")
cpp_quote("const ULONG MSRDC_MINIMUM_HASHWINDOWSIZE = 2;")
cpp_quote("const ULONG MSRDC_MAXIMUM_HASHWINDOWSIZE = 96;")
cpp_quote("const ULONG MSRDC_DEFAULT_HASHWINDOWSIZE_1 = 48;")
cpp_quote("const ULONG MSRDC_DEFAULT_HORIZONSIZE_1 = 1024;")
cpp_quote("const ULONG MSRDC_DEFAULT_HASHWINDOWSIZE_N = 2;")
cpp_quote("const ULONG MSRDC_DEFAULT_HORIZONSIZE_N = 128;")
cpp_quote("const ULONG MSRDC_MAXIMUM_TRAITVALUE = 63;")
cpp_quote("const ULONG MSRDC_MINIMUM_MATCHESREQUIRED = 1;")
cpp_quote("const ULONG MSRDC_MAXIMUM_MATCHESREQUIRED = 16;")
typedef enum
{
RDC_NoError,
RDC_HeaderVersionNewer, // The filer header is incompatible with this library.
RDC_HeaderVersionOlder, // The filer header is incompatible with this library.
RDC_HeaderMissingOrCorrupt,
RDC_HeaderWrongType, // The header format is incorrect (wrong type of input file?).
RDC_DataMissingOrCorrupt, // EOF reached before all data expected was read.
RDC_DataTooManyRecords, // Additional data found in stream past where EOF was expected.
RDC_FileChecksumMismatch, // Final file checksum doesn't match.
RDC_ApplicationError, // An application callback function returned failure.
RDC_Aborted,
RDC_Win32Error // A win32 error code
} RDC_ErrorCode;
typedef enum
{
RDCGENTYPE_Unused,
RDCGENTYPE_FilterMax
} GeneratorParametersType;
typedef enum
{
RDCNEED_SOURCE = 0,
RDCNEED_TARGET = 1,
RDCNEED_SEED = 2,
RDCNEED_SEED_MAX = 255 // Allows up to 253 seed files.
} RdcNeedType;
typedef struct
{
RdcNeedType m_BlockType;
unsigned __int64 m_FileOffset;
unsigned __int64 m_BlockLength;
} RdcNeed;
typedef struct
{
ULONG m_Size;
ULONG m_Used;
BYTE *m_Data;
} RdcBufferPointer;
typedef struct
{
ULONG m_Size;
ULONG m_Used;
RdcNeed *m_Data;
} RdcNeedPointer;
typedef struct
{
BYTE m_Signature[MSRDC_SIGNATURE_HASHSIZE];
USHORT m_BlockLength;
} RdcSignature;
typedef struct
{
ULONG m_Size;
ULONG m_Used;
RdcSignature *m_Data;
} RdcSignaturePointer;
typedef unsigned int SimilarityFileIndexT;
typedef enum
{
RDCTABLE_InvalidOrUnknown,
RDCTABLE_Existing,
RDCTABLE_New
} RdcCreatedTables;
typedef enum
{
RDCMAPPING_Undefined,
RDCMAPPING_ReadOnly,
RDCMAPPING_ReadWrite
} RdcMappingAccessMode;
typedef struct
{
unsigned char *m_Data;
DWORD m_Length;
} SimilarityMappedViewInfo;
typedef struct
{
unsigned char m_Data[16];
} SimilarityData;
typedef struct
{
SimilarityFileIndexT m_FileIndex;
unsigned m_MatchCount;
} FindSimilarFileIndexResults;
typedef struct
{
SimilarityFileIndexT m_FileIndex;
SimilarityData m_Data;
} SimilarityDumpData;
const unsigned SimilarityFileIdMinSize = 4;
const unsigned SimilarityFileIdMaxSize = 32;
typedef struct
{
byte m_FileId[SimilarityFileIdMaxSize];
} SimilarityFileId;
[
object,
uuid(GUID_IID_IRdcGeneratorParameters),
helpstring("IRdcGeneratorParameters Interface - abstract parameter interface for all types of RDC generator parameters"),
pointer_default(unique)
]
interface IRdcGeneratorParameters : IUnknown
{
[helpstring("method GetGeneratorParametersType - return the specific type of the parameters")]
HRESULT GetGeneratorParametersType(
[out] GeneratorParametersType * parametersType);
[helpstring("method GetParametersVersion - return the RDC version that created these parameters")]
HRESULT GetParametersVersion(
[out] ULONG * currentVersion,
[out] ULONG * minimumCompatibleAppVersion);
[helpstring("method GetSerializeSize - return the number of bytes required to serialize the parameters")]
HRESULT GetSerializeSize(
[out] ULONG * size);
[helpstring("method Serialize - serialize the parameters into the application supplied buffer")]
HRESULT Serialize(
[in] ULONG size,
[out] BYTE * parametersBlob,
[out] ULONG * bytesWritten);
};
[
object, local,
uuid(GUID_IID_IRdcGeneratorFilterMaxParameters),
helpstring("IRdcGeneratorFilterMaxParameters Interface - specific parameter interface for FilterMax parameters"),
pointer_default(unique)
]
interface IRdcGeneratorFilterMaxParameters : IUnknown
{
[helpstring("method GetHorizonSize")]
HRESULT GetHorizonSize(
[out] ULONG * horizonSize);
[helpstring("method SetHorizonSize")]
HRESULT SetHorizonSize(
[in] ULONG horizonSize);
[helpstring("method GetHashWindowSize")]
HRESULT GetHashWindowSize(
[out] ULONG * hashWindowSize);
[helpstring("method SetHashWindowSize")]
HRESULT SetHashWindowSize(
[in] ULONG hashWindowSize);
};
[
object, local,
uuid(GUID_IID_IRdcGenerator),
helpstring("IRdcGenerator Interface - abstract interface for all types of RDC signature generators"),
pointer_default(unique)
]
interface IRdcGenerator : IUnknown
{
[helpstring("method GetGeneratorParameters - returns a copy of the parameters used to create this generator")]
HRESULT GetGeneratorParameters(
[in] ULONG level,
[out] IRdcGeneratorParameters ** iGeneratorParameters);
[helpstring("method Process - consumes all input and produces 0 or more signatures. Call this function until eofOfOutput gets set")]
HRESULT Process(
[in] BOOL endOfInput,
[out] BOOL * endOfOutput,
[in, out] RdcBufferPointer * inputBuffer,
[in] ULONG depth,
[out, size_is(depth)] RdcBufferPointer * outputBuffers[],
[out] RDC_ErrorCode *rdc_ErrorCode);
};
[
object, local,
uuid(GUID_IID_IRdcFileReader),
helpstring("IRdcFileReader Interface - abstract interface to read a file"),
pointer_default(unique)
]
interface IRdcFileReader : IUnknown
{
[helpstring("method GetFileSize - returns the size of the file")]
HRESULT GetFileSize(
[out] ULONGLONG * fileSize);
[helpstring("method Read - read bytes from the file starting at the given offset - will read all requested bytes unless error or EOF")]
HRESULT Read(
[in] ULONGLONG offsetFileStart,
[in] ULONG bytesToRead,
[out] ULONG * bytesActuallyRead,
[out] BYTE * buffer,
[out] BOOL * eof);
[helpstring("method GetFilePosition - returns the current file position")]
HRESULT GetFilePosition(
[out] ULONGLONG * offsetFromStart);
};
[
object, local,
uuid(GUID_IID_IRdcFileWriter),
helpstring("IRdcFileWriter Interface - abstract interface to read/write a file"),
pointer_default(unique)
]
interface IRdcFileWriter : IRdcFileReader
{
[helpstring("method Write - Write bytes to the file starting at the given offset")]
HRESULT Write(
[in] ULONGLONG offsetFileStart,
[in] ULONG bytesToWrite,
[out] BYTE * buffer);
[helpstring("method Truncate - truncate a file to zero length")]
HRESULT Truncate();
[helpstring("method DeleteOnClose - sets the file to be deleted (or truncated) on close")]
HRESULT DeleteOnClose();
};
[
object, local,
uuid(GUID_IID_IRdcSignatureReader),
helpstring("IRdcSignatureReader Interface - abstract interface to decode a signature file"),
pointer_default(unique)
]
interface IRdcSignatureReader : IUnknown
{
[helpstring("method ReadHeader - reads the signature file header and returns a copy of the parameters used to generate the signatures")]
HRESULT ReadHeader(
[out] RDC_ErrorCode *rdc_ErrorCode);
[helpstring("method ReadSignature - read a signature from the current position")]
HRESULT ReadSignatures(
[in, out] RdcSignaturePointer *rdcSignaturePointer,
[out] BOOL * endOfOutput
);
};
[
object, local,
uuid(GUID_IID_IRdcComparator),
helpstring("IRdcComparator Interface - abstract interface for signature compators"),
pointer_default(unique)
]
interface IRdcComparator : IUnknown
{
[helpstring("method Process")]
HRESULT Process(
[in] BOOL endOfInput,
[out] BOOL * endOfOutput,
[in, out] RdcBufferPointer * inputBuffer,
[in,out] RdcNeedPointer * outputBuffer,
[out] RDC_ErrorCode *rdc_ErrorCode);
};
[
object, local,
uuid(GUID_IID_IRdcLibrary),
helpstring("IRdcLibrary Interface"),
pointer_default(unique)
]
interface IRdcLibrary : IUnknown
{
[helpstring("method ComputeDefaultRecursionDepth - chooses a good default recursion depth for the given file size")]
HRESULT ComputeDefaultRecursionDepth(
[in] ULONGLONG fileSize,
[out] ULONG* depth);
[helpstring("method CreateGeneratorParameters - create default parameter values for the given recursion depth and generator type")]
HRESULT CreateGeneratorParameters(
[in] GeneratorParametersType parametersType,
[in] ULONG level,
[out] IRdcGeneratorParameters ** iGeneratorParameters);
[helpstring("method OpenGeneratorParameters - deserialize a stored parameters blob")]
HRESULT OpenGeneratorParameters(
[in] ULONG size,
[in] BYTE const * parametersBlob,
[out] IRdcGeneratorParameters ** iGeneratorParameters);
[helpstring("method CreateGenerator - given an array of parameters, create a (recursive) signature generator")]
HRESULT CreateGenerator(
[in] ULONG depth,
[in, size_is(depth)] IRdcGeneratorParameters * iGeneratorParametersArray[],
[out] IRdcGenerator ** iGenerator);
[helpstring("method CreateComparator - create a signature comparator")]
HRESULT CreateComparator(
[in] IRdcFileReader * iSeedSignaturesFile,
[in] ULONG comparatorBufferSize,
[out] IRdcComparator ** iComparator);
[helpstring("method CreateSignatureReader - create a signature file reader to decode a signature file")]
HRESULT CreateSignatureReader(
[in] IRdcFileReader * iFileReader,
[out] IRdcSignatureReader ** iSignatureReader);
[helpstring("method GetRDCVersion - get the current version of the library, and the oldest version to which it is backwards compatible with")]
HRESULT GetRDCVersion(
[out] ULONG * currentVersion,
[out] ULONG * minimumCompatibleAppVersion);
};
[
object, local,
uuid(GUID_IID_ISimilarityReportProgress),
helpstring("ISimilarityReportProgress Interface"),
pointer_default(unique)
]
interface ISimilarityReportProgress : IUnknown
{
[, helpstring("method ReportProgress")] HRESULT ReportProgress(
[in] DWORD percentCompleted);
};
[
object, local,
uuid(GUID_IID_ISimilarityTableDumpState),
helpstring("ISimilarityTableDumpState Interface"),
pointer_default(unique)
]
interface ISimilarityTableDumpState : IUnknown
{
[, helpstring("method GetNextData")] HRESULT GetNextData(
[in] DWORD resultsSize,
[out] DWORD * resultsUsed,
[out] BOOL * eof,
[in,out] SimilarityDumpData * results);
};
[
object, local,
uuid(GUID_IID_ISimilarityTraitsMappedView),
helpstring("ISimilarityTraitsMappedView Interface"),
pointer_default(unique)
]
interface ISimilarityTraitsMappedView : IUnknown{
[, helpstring("method Flush"), local] HRESULT Flush();
[, helpstring("method Unmap"), local] HRESULT Unmap();
[, helpstring("method Get"), local] HRESULT Get(
[in] unsigned __int64 index,
[in] BOOL dirty,
[in] DWORD numElements,
[out] SimilarityMappedViewInfo * viewInfo);
[, helpstring("method GetView"), local] void GetView(
[out] unsigned char const **mappedPageBegin,
[out] unsigned char const **mappedPageEnd);
};
[
object, local,
uuid(GUID_IID_ISimilarityTraitsMapping),
helpstring("ISimilarityTraitsMapping Interface"),
pointer_default(unique)
]
interface ISimilarityTraitsMapping : IUnknown{
[, helpstring("method CloseMapping"), local] void CloseMapping();
[, helpstring("method SetFileSize")] HRESULT SetFileSize(
[in] unsigned __int64 fileSize);
[, helpstring("method GetFileSize"), local] HRESULT GetFileSize(
[out] unsigned __int64 * fileSize);
[, helpstring("method OpenMapping"), local] HRESULT OpenMapping(
[in] RdcMappingAccessMode accessMode,
[in] unsigned __int64 begin,
[in] unsigned __int64 end ,
[out] unsigned __int64 * actualEnd);
[, helpstring("method ResizeMapping"), local] HRESULT ResizeMapping(
[in] RdcMappingAccessMode accessMode,
[in] unsigned __int64 begin,
[in] unsigned __int64 end,
[out] unsigned __int64 * actualEnd);
[, helpstring("method GetPageSize"), local] void GetPageSize(
[out] DWORD * pageSize);
[, helpstring("method CreateView")] HRESULT CreateView(
[in] DWORD minimumMappedPages ,
[in] RdcMappingAccessMode accessMode,
[out] ISimilarityTraitsMappedView ** mappedView);
};
[
object, local,
uuid(GUID_IID_ISimilarityTraitsTable),
helpstring("ISimilarityTraitsTable Interface"),
pointer_default(unique)
]
interface ISimilarityTraitsTable : IUnknown
{
[, helpstring("method CreateTable")] HRESULT CreateTable(
[in, annotation("__in")] wchar_t * path,
[in] BOOL truncate,
[in, annotation("__in")] BYTE * securityDescriptor,
[out, annotation("__out")] RdcCreatedTables *isNew);
[, helpstring("method CreateTable")] HRESULT CreateTableIndirect(
[in] ISimilarityTraitsMapping *mapping,
[in] BOOL truncate,
[out] RdcCreatedTables *isNew);
[, helpstring("method CloseTable")] HRESULT CloseTable(BOOL isValid);
[, helpstring("method Append")] HRESULT Append(
[in] SimilarityData * data,
[in] SimilarityFileIndexT fileIndex);
[, helpstring("method FindSimilarFileIndex")] HRESULT FindSimilarFileIndex(
[in] SimilarityData * similarityData,
[in] USHORT numberOfMatchesRequired,
[out] FindSimilarFileIndexResults * findSimilarFileIndexResults,
[in] DWORD resultsSize,
[out] DWORD * resultsUsed);
[, helpstring("method BeginDump")] HRESULT BeginDump(
[out] ISimilarityTableDumpState ** similarityTableDumpState);
[, helpstring("method GetLastIndex")] HRESULT GetLastIndex(
[out] SimilarityFileIndexT *fileIndex);
};
[
object, local,
uuid(GUID_IID_ISimilarityFileIdTable),
helpstring("ISimilarityFileIdTable Interface"),
pointer_default(unique)
]
interface ISimilarityFileIdTable : IUnknown
{
[, helpstring("method CreateTable")] HRESULT CreateTable(
[in, annotation("__in")] wchar_t * path,
[in] BOOL truncate,
[in, annotation("__in")] BYTE * securityDescriptor,
[in] DWORD recordSize,
[out, annotation("__out")] RdcCreatedTables *isNew);
[, helpstring("method CreateTable")] HRESULT CreateTableIndirect(
[in] IRdcFileWriter *fileIdFile,
[in] BOOL truncate,
[in] DWORD recordSize,
[out] RdcCreatedTables *isNew);
[, helpstring("method CloseTable")] HRESULT CloseTable(BOOL isValid);
[, helpstring("method Append")] HRESULT Append(
[in] SimilarityFileId * similarityFileId,
[out] SimilarityFileIndexT * similarityFileIndex);
[, helpstring("method Lookup")] HRESULT Lookup(
[in] SimilarityFileIndexT similarityFileIndex,
[out] SimilarityFileId * similarityFileId);
[, helpstring("method Invalidate")] HRESULT Invalidate(
[in] SimilarityFileIndexT similarityFileIndex);
[, helpstring("method GetRecordCount")] HRESULT GetRecordCount(
[out] DWORD *recordCount);
};
[
object, local,
uuid(GUID_IID_IRdcSimilarityGenerator),
helpstring("IRdcSimilarityGenerator Interface"),
pointer_default(unique)
]
interface IRdcSimilarityGenerator : IUnknown
{
[, helpstring("method EnableSimilarity")] HRESULT EnableSimilarity(void);
[, helpstring("method Results")] HRESULT Results(
[out] SimilarityData * similarityData);
};
[
object, local,
uuid(GUID_IID_IFindSimilarResults),
helpstring("IFindSimilarResults Interface"),
pointer_default(unique)
]
interface IFindSimilarResults : IUnknown{
[, helpstring("method GetSize")] HRESULT GetSize(
[out] DWORD * size);
[, helpstring("method GetNextFileId")] HRESULT GetNextFileId(
[out] DWORD * numTraitsMatched,
[out] SimilarityFileId * similarityFileId);
};
[
object, local,
uuid(GUID_IID_ISimilarity),
helpstring("ISimilarity Interface"),
pointer_default(unique)
]
interface ISimilarity : IUnknown
{
[, helpstring("method CreateTable")] HRESULT CreateTable(
[in, annotation("__in")] wchar_t * path,
[in] BOOL truncate,
[in, annotation("__in")] BYTE * securityDescriptor,
[in] DWORD recordSize,
[out, annotation("__out")] RdcCreatedTables *isNew);
[, helpstring("method CreateTable")] HRESULT CreateTableIndirect(
[in] ISimilarityTraitsMapping *mapping,
[in] IRdcFileWriter *fileIdFile,
[in] BOOL truncate,
[in] DWORD recordSize,
[out] RdcCreatedTables *isNew);
[, helpstring("method CloseTable")] HRESULT CloseTable(
[in] BOOL isValid);
[, helpstring("method Append")] HRESULT Append(
[in] SimilarityFileId * similarityFileId,
[in] SimilarityData * similarityData);
[, helpstring("method FindSimilarFileId")] HRESULT FindSimilarFileId(
[in] SimilarityData * similarityData,
[in] USHORT numberOfMatchesRequired,
[in] DWORD resultsSize,
[out] IFindSimilarResults **findSimilarResults);
[, helpstring("method Append")] HRESULT CopyAndSwap(
[in] ISimilarity * newSimilarityTables,
[in] ISimilarityReportProgress *reportProgress);
[, helpstring("method GetRecordCount")] HRESULT GetRecordCount(
[out] DWORD *recordCount);
};
[
uuid(GUID_LIBID_MSRDCLib),
version(1.0),
helpstring("MSRDC 1.0 Type Library")
]
library MSRDCLib
{
importlib("stdole2.tlb");
[
uuid(GUID_CLSID_RdcLibrary),
helpstring("RdcLibrary Class")
]
coclass RdcLibrary
{
[default] interface IRdcLibrary;
};
[
uuid(GUID_CLSID_RdcGeneratorParameters),
helpstring("RdcGeneratorParameters Class")
]
coclass RdcGeneratorParameters
{
[default] interface IRdcGeneratorParameters;
};
[
uuid(GUID_CLSID_RdcGeneratorFilterMaxParameters),
helpstring("RdcGeneratorFilterMaxParameters Class")
]
coclass RdcGeneratorFilterMaxParameters
{
[default] interface IRdcGeneratorFilterMaxParameters;
};
[
uuid(GUID_CLSID_RdcGenerator),
helpstring("RdcGenerator Class")
]
coclass RdcGenerator
{
[default] interface IRdcGenerator;
};
[
uuid(GUID_CLSID_RdcFileReader),
helpstring("RdcFileReader Class")
]
coclass RdcFileReader
{
[default] interface IRdcFileReader;
interface IRdcFileWriter;
};
[
uuid(GUID_CLSID_RdcSignatureReader),
helpstring("RdcSignatureReader Class")
]
coclass RdcSignatureReader
{
[default] interface IRdcSignatureReader;
};
[
uuid(GUID_CLSID_RdcComparator),
helpstring("RdcComparator Class")
]
coclass RdcComparator
{
[default] interface IRdcComparator;
};
[
uuid(GUID_CLSID_SimilarityReportProgress),
helpstring("SimilarityReportProgress Class")
]
coclass SimilarityReportProgress
{
[default] interface ISimilarityReportProgress;
};
[
uuid(GUID_CLSID_SimilarityTableDumpState),
helpstring("SimilarityTableDumpState Class")
]
coclass SimilarityTableDumpState
{
[default] interface ISimilarityTableDumpState;
};
[
uuid(GUID_CLSID_SimilarityTraitsTable),
helpstring("SimilarityTraitsTable Class")
]
coclass SimilarityTraitsTable
{
[default] interface ISimilarityTraitsTable;
};
[
uuid(GUID_CLSID_SimilarityFileIdTable),
helpstring("SimilarityFileIdTable Class")
]
coclass SimilarityFileIdTable
{
[default] interface ISimilarityFileIdTable;
};
[
uuid(GUID_CLSID_Similarity),
helpstring("Similarity Class")
]
coclass Similarity
{
[default] interface ISimilarity;
};
[
uuid(GUID_CLSID_RdcSimilarityGenerator),
helpstring("RdcSimilarityGenerator Class")
]
coclass RdcSimilarityGenerator
{
[default] interface IRdcSimilarityGenerator;
};
[
uuid(GUID_CLSID_FindSimilarResults),
helpstring("FindSimilarResults Class")
]
coclass FindSimilarResults
{
[default] interface IFindSimilarResults;
};
[
uuid(GUID_CLSID_SimilarityTraitsMapping),
helpstring("SimilarityTraitsMapping Class")
]
coclass SimilarityTraitsMapping
{
[default] interface ISimilarityTraitsMapping;
};
[
uuid(GUID_CLSID_SimilarityTraitsMappedView),
helpstring("SimilarityTraitsMappedView Class")
]
coclass SimilarityTraitsMappedView
{
[default] interface ISimilarityTraitsMappedView;
};
};