59 lines
2 KiB
Plaintext
59 lines
2 KiB
Plaintext
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// File: idiff.idl
|
|
//
|
|
// Contents: IDifferencing interface
|
|
//
|
|
// History: 11-Nov-94 SethuR Created
|
|
//
|
|
// Notes: There are three different way of extracting the differences
|
|
// between a given storage and another point of reference
|
|
// (another storage, a version id. or a time stamp). In the
|
|
// first case there is no temporal significance to the differences
|
|
// extracted, i.e., it is the difference in the snapshots at
|
|
// that instant of time. For the second and third cases there
|
|
// is a temporal significance attached to the differences. These
|
|
// also require some form of history to be associated with the
|
|
// storage.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#include "idlmulti.h"
|
|
|
|
REMOTED_INTERFACE(994f0af0-2977-11ce-bb80-08002b36b2b0)
|
|
interface IDifferencing : IUnknown
|
|
{
|
|
typedef enum {
|
|
DIFF_TYPE_Ordinary,
|
|
DIFF_TYPE_Urgent
|
|
} DifferenceType;
|
|
|
|
HRESULT SubtractMoniker(
|
|
[in] IReconcileInitiator *pInitiator,
|
|
[in] IMoniker *pOtherStg,
|
|
[in] DifferenceType diffType,
|
|
[in,out] STGMEDIUM *pStgMedium,
|
|
[in] DWORD reserved);
|
|
|
|
HRESULT SubtractVerid(
|
|
[in] IReconcileInitiator *pInitiator,
|
|
[in] VERID *pVerid,
|
|
[in] DifferenceType diffType,
|
|
[in,out] STGMEDIUM *pStgMedium,
|
|
[in] DWORD reserved);
|
|
|
|
HRESULT SubtractTimeStamp(
|
|
[in] IReconcileInitiator *pInitiator,
|
|
[in] FILETIME *pTimeStamp, // UTC
|
|
[in] DifferenceType diffType,
|
|
[in,out] STGMEDIUM *pStgMedium,
|
|
[in] DWORD reserved);
|
|
|
|
HRESULT Add(
|
|
[in] IReconcileInitiator *pInitiator,
|
|
[in] STGMEDIUM *pStgMedium);
|
|
}
|