windows-nt/Source/XPSP1/NT/com/published/idlole/oleext/idiff.idl

59 lines
2 KiB
Plaintext
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
//+---------------------------------------------------------------------------
//
// 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);
}