84 lines
2.2 KiB
Plaintext
84 lines
2.2 KiB
Plaintext
/*++
|
|
|
|
Copyright (c) 2005 Microsoft Corporation
|
|
|
|
RDC SDK Test Server Sample Code
|
|
|
|
--*/
|
|
|
|
// RdcSdkTestServer.idl : IDL source for RdcSdkTestServer
|
|
//
|
|
|
|
// This file will be processed by the MIDL tool to
|
|
// produce the type library (RdcSdkTestServer.tlb) and marshalling code.
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
import "msrdc.idl";
|
|
|
|
typedef struct
|
|
{
|
|
ULONGLONG m_FileSize;
|
|
ULONG m_SignatureDepth;
|
|
} RdcFileTransferInfo;
|
|
|
|
typedef struct
|
|
{
|
|
ULONG m_HandleValue;
|
|
} RdcFileHandle;
|
|
|
|
[
|
|
object,
|
|
uuid(1178F6B7-ABC4-4326-9154-DDE5CDE9DCB3),
|
|
helpstring("IRdcFileTransfer Interface - used to remotely generate and retrieve signatures"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IRdcFileTransfer : IUnknown{
|
|
[helpstring("method RdcOpenFile - opens the file and prepares to generate signatures")] HRESULT RdcOpenFile(
|
|
[in] LPCWSTR fileName,
|
|
[in, out] RdcFileTransferInfo * fileInfo,
|
|
[out] RdcFileHandle * fileHandle,
|
|
[in] BOOL deleteSigs,
|
|
[in] ULONG horizonSize1,
|
|
[in] ULONG horizonSizeN,
|
|
[in] ULONG hashWindowSize1,
|
|
[in] ULONG hashWindowSizeN);
|
|
|
|
[helpstring("method ReadData - reads file and signature data. Waits for signature generation if necessary")] HRESULT ReadData(
|
|
[in] RdcFileHandle * fileHandle,
|
|
[in] ULONG signatureLevel,
|
|
[in] ULONGLONG fileOffset,
|
|
[in, range(0, 262144)] ULONG bytesToRead,
|
|
[out] ULONG *bytesActuallyRead,
|
|
[out, size_is(bytesToRead), length_is(*bytesActuallyRead)] BYTE * data);
|
|
|
|
[helpstring("method GetFileSize")] HRESULT GetFileSize(
|
|
[in] RdcFileHandle * fileHandle,
|
|
[in] ULONG signatureLevel,
|
|
[out] ULONGLONG * fileSize);
|
|
|
|
[helpstring("method GetSimilarityData")] HRESULT GetSimilarityData(
|
|
[out] SimilarityData * similarityData);
|
|
|
|
[helpstring("method Close")] HRESULT Close(
|
|
[in,out] RdcFileHandle * fileHandle);
|
|
|
|
};
|
|
[
|
|
uuid(1E5480BA-8639-4215-80C2-22F7A11B852C),
|
|
version(1.0),
|
|
helpstring("RdcSdkTestServer 1.0 Type Library")
|
|
]
|
|
library RdcSdkTestServerLib
|
|
{
|
|
importlib("stdole2.tlb");
|
|
[
|
|
uuid(94F0E32B-BB68-466B-888E-BD180222D0FA),
|
|
helpstring("RdcFileTransfer Class")
|
|
]
|
|
coclass RdcFileTransfer
|
|
{
|
|
[default] interface IRdcFileTransfer;
|
|
};
|
|
};
|