3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) 2013 Daniel JeliƄski
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "unknwn.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#include <winerror.h>")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransaction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionCloner;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransaction2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionDispenser;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionOptions;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionOutcomeEvents;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITmNodeName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct BOID {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync byte rgb[16];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} BOID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#ifndef MAX_TRAN_DESC_DEFINED")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define MAX_TRAN_DESC_DEFINED")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum TX_MISC_CONSTANTS {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync MAX_TRAN_DESC = 40
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} TX_MISC_CONSTANTS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#endif")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOID XACTUOW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef LONG ISOLEVEL;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum ISOLATIONLEVEL {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_UNSPECIFIED = 0xffffffff,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_CHAOS = 0x10,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_READUNCOMMITTED = 0x100,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_BROWSE = 0x100,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_CURSORSTABILITY = 0x1000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_READCOMMITTED = 0x1000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_REPEATABLEREAD = 0x10000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_SERIALIZABLE = 0x100000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLATIONLEVEL_ISOLATED = 0x100000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} ISOLATIONLEVEL;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct XACTTRANSINFO {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTUOW uow;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOLEVEL isoLevel;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG isoFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD grfTCSupported;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD grfRMSupported;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD grfTCSupportedRetaining;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD grfRMSupportedRetaining;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACTTRANSINFO;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct XACTSTATS {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cOpen;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cCommitting;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cCommitted;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cAborting;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cAborted;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cInDoubt;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG cHeuristicDecision;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync FILETIME timeTransactionsUp;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACTSTATS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum ISOFLAG {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_COMMIT_DC = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_COMMIT = 2,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_COMMIT_NO = 3,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_ABORT_DC = 4,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_ABORT = 8,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_ABORT_NO = 12,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_DONTCARE = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_BOTH = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_RETAIN_NONE = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_OPTIMISTIC = 16,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ISOFLAG_READONLY = 32
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} ISOFLAG;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum XACTTC {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTTC_NONE = 0,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTTC_SYNC_PHASEONE = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTTC_SYNC_PHASETWO = 2,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTTC_SYNC = 2,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTTC_ASYNC_PHASEONE = 4,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTTC_ASYNC = 4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACTTC;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum XACTRM {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTRM_OPTIMISTICLASTWINS = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTRM_NOREADONLYPREPARES
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACTRM;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum XACTCONST {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTCONST_TIMEOUTINFINITE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACTCONST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum XACTHEURISTIC {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTHEURISTIC_ABORT = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTHEURISTIC_COMMIT,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTHEURISTIC_DAMAGE,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTHEURISTIC_DANGER
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACTHEURISTIC;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum XACTSTAT {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_NONE = 0,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_OPENNORMAL = 0x1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_OPENREFUSED = 0x2,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_PREPARING = 0x4,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_PREPARED = 0x8,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_PREPARERETAINING = 0x10,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_PREPARERETAINED = 0x20,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_COMMITTING = 0x40,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_COMMITRETAINING = 0x80,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_ABORTING = 0x100,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_ABORTED = 0x200,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_COMMITTED = 0x400,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_HEURISTIC_ABORT = 0x800,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_HEURISTIC_COMMIT = 0x1000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_HEURISTIC_DAMAGE = 0x2000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_HEURISTIC_DANGER = 0x4000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_FORCED_ABORT = 0x8000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_FORCED_COMMIT = 0x10000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_INDOUBT = 0x20000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_CLOSED = 0x40000,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_OPEN = 0x3,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_NOTPREPARED = 0x7ffc3,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync XACTSTAT_ALL = 0x7ffff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACTSTAT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct XACTOPT {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG ulTimeout;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync char szDescription[40 ];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} XACTOPT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(0fb15084-af41-11ce-bd2b-204c4f4f5020)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransaction : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Commit([in] BOOL fRetaining,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] DWORD grfTC,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] DWORD grfRM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Abort([in, unique] BOID *pboidReason,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] BOOL fRetaining,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] BOOL fAsync);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetTransactionInfo([out] XACTTRANSINFO *pinfo);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(02656950-2152-11d0-944C-00A0C905416E)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionCloner : ITransaction {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT CloneWithCommitDisabled([out] ITransaction **ppITransaction);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(34021548-0065-11d3-bac1-00c04f797be2)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransaction2 : ITransactionCloner {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetTransactionInfo2([out] XACTTRANSINFO *pinfo);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(3A6AD9E1-23B9-11cf-AD60-00AA00A74CCD)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionDispenser : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetOptionsObject([out] ITransactionOptions **ppOptions);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT BeginTransaction([in, unique] IUnknown *punkOuter,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] ISOLEVEL isoLevel,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] ULONG isoFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in, unique] ITransactionOptions *pOptions,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out] ITransaction **ppTransaction);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(3A6AD9E0-23B9-11cf-AD60-00AA00A74CCD)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionOptions : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT SetOptions([in] XACTOPT *pOptions);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetOptions([in, out] XACTOPT *pOptions);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(3A6AD9E2-23B9-11cf-AD60-00AA00A74CCD)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITransactionOutcomeEvents : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Committed([in] BOOL fRetaining,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in, unique] XACTUOW *pNewUOW,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] HRESULT hr);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Aborted([in, unique] BOID *pboidReason,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] BOOL fRetaining,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in, unique] XACTUOW *pNewUOW,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] HRESULT hr);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT HeuristicDecision([in] DWORD dwDecision,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in, unique] BOID *pboidReason,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] HRESULT hr);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT Indoubt(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(30274F88-6EE4-474e-9B95-7807BC9EF8CF)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface ITmNodeName : IUnknown {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetNodeNameSize([out] ULONG *pcbNodeNameSize);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetNodeName([in] ULONG cbNodeNameBufferSize,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in, out] LPWSTR pNodeNameBuffer);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};