2025-11-28 00:35:46 +09:00

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