Translated 15/11/96 by Alexander Staubo . For information
about the translation, see notes in oledb.pas.
{!! 2-byte enumerated types seems to be the norm here } {$MINENUMSIZE 2ITransaction -
ITransactionCompletionEvents -
ITransactionDispenser -
ITransactionOptions -
ITransactionOutcomeEvents -
LONG
PBOID
TBOID
TISOFLAG
TISOLATIONLEVEL
TISOLEVEL
TXACTCONST
TXACTHEURISTIC
TXACTOPT
TXACTRM
TXACTSTAT
TXACTSTATS
TXACTTC
TXACTTRANSINFO
TXACTUOW
BOID_NULL
IID_ITransaction
IID_ITransactionCompletionEvents
IID_ITransactionDispenser
IID_ITransactionOptions
IID_ITransactionOutcomeEvents
ISOFLAG_OPTIMISTIC
ISOFLAG_RETAIN_ABORT
ISOFLAG_RETAIN_ABORT_DC
ISOFLAG_RETAIN_ABORT_NO
ISOFLAG_RETAIN_BOTH
ISOFLAG_RETAIN_COMMIT
ISOFLAG_RETAIN_COMMIT_DC
ISOFLAG_RETAIN_COMMIT_NO
ISOFLAG_RETAIN_DONTCARE
ISOFLAG_RETAIN_NONE
ISOLATIONLEVEL_BROWSE
ISOLATIONLEVEL_CHAOS
ISOLATIONLEVEL_CURSORSTABILITY
ISOLATIONLEVEL_ISOLATED
ISOLATIONLEVEL_READCOMMITTED
ISOLATIONLEVEL_READUNCOMMITTED
ISOLATIONLEVEL_REPEATABLEREAD
ISOLATIONLEVEL_SERIALIZABLE
ISOLATIONLEVEL_UNSPECIFIED
MAX_TRAN_DESC
XACTCONST_TIMEOUTINFINITE
XACTHEURISTIC_ABORT
XACTHEURISTIC_COMMIT
XACTHEURISTIC_DAMAGE
XACTHEURISTIC_DANGER
XACTRM_NOREADONLYPREPARES
XACTRM_OPTIMISTICLASTWINS
XACTSTAT_ABORTED
XACTSTAT_ABORTING
XACTSTAT_ALL
XACTSTAT_CLOSED
XACTSTAT_COMMITRETAINING
XACTSTAT_COMMITTED
XACTSTAT_COMMITTING
XACTSTAT_FORCED_ABORT
XACTSTAT_FORCED_COMMIT
XACTSTAT_HEURISTIC_ABORT
XACTSTAT_HEURISTIC_COMMIT
XACTSTAT_HEURISTIC_DAMAGE
XACTSTAT_HEURISTIC_DANGER
XACTSTAT_INDOUBT
XACTSTAT_NONE
XACTSTAT_NOTPREPARED
XACTSTAT_OPEN
XACTSTAT_OPENNORMAL
XACTSTAT_OPENREFUSED
XACTSTAT_PREPARED
XACTSTAT_PREPARERETAINED
XACTSTAT_PREPARERETAINING
XACTSTAT_PREPARING
XACTTC_ASYNC_PHASEONE
XACTTC_SYNC
XACTTC_SYNC_PHASEONE
XACTTC_SYNC_PHASETWO
XACT_E_ABORTED
XACT_E_ALREADYINPROGRESS
XACT_E_ALREADYOTHERSINGLEPHASE
XACT_E_CANTRETAIN
XACT_E_COMMITFAILED
XACT_E_COMMITPREVENTED
XACT_E_CONNECTION_DENIED
XACT_E_CONNECTION_DOWN
XACT_E_FIRST
XACT_E_HEURISTICABORT
XACT_E_HEURISTICCOMMIT
XACT_E_HEURISTICDAMAGE
XACT_E_HEURISTICDANGER
XACT_E_INDOUBT
XACT_E_INVALIDCOOKIE
XACT_E_ISOLATIONLEVEL
XACT_E_LAST
XACT_E_LOGFULL
XACT_E_NOASYNC
XACT_E_NOENLIST
XACT_E_NOIMPORTOBJECT
XACT_E_NOISORETAIN
XACT_E_NORESOURCE
XACT_E_NOTCURRENT
XACT_E_NOTIMEOUT
XACT_E_NOTRANSACTION
XACT_E_NOTSUPPORTED
XACT_E_REENLISTTIMEOUT
XACT_E_TMNOTAVAILABLE
XACT_E_UNKNOWNRMGRID
XACT_E_WRONGSTATE
XACT_E_WRONGUOW
XACT_E_XTIONEXISTS
XACT_S_ABORTING
XACT_S_ALLNORETAIN
XACT_S_ASYNC
XACT_S_DEFECT
XACT_S_FIRST
XACT_S_LAST
XACT_S_MADECHANGESCONTENT
XACT_S_MADECHANGESINFORM
XACT_S_OKINFORM
XACT_S_READONLY
XACT_S_SINGLEPHASE
XACT_S_SOMENORETAIN
LONG = Longint
!! Conversion types
PBOID = ^TBOID
size is 16
TBOID = record
rgb : array[0..15] of Byte;
end;
!! Added
TISOFLAG = Word
size is 2
TISOLATIONLEVEL = Word
size is 2
TISOLEVEL = LONG
size is 4
TXACTCONST = Word
size is 2
TXACTHEURISTIC = Word
size is 2
TXACTOPT = record
ulTimeout : ULONG;
szDescription : array[0..39] of Char;
end;
size is 44
TXACTRM = Word
size is 2
TXACTSTAT = Word
size is 2
TXACTSTATS = record
cOpen : ULONG;
cCommitting : ULONG;
cCommitted : ULONG;
cAborting : ULONG;
cAborted : ULONG;
cInDoubt : ULONG;
cHeuristicDecision : ULONG;
timeTransactionsUp : TFileTime;
end;
size is 36
TXACTTC = Word
size is 2
TXACTTRANSINFO = record
uow : TXACTUOW;
isoLevel : TISOLEVEL;
isoFlags : ULONG;
grfTCSupported : DWORD;
grfRMSupported : DWORD;
grfTCSupportedRetaining : DWORD;
grfRMSupportedRetaining : DWORD;
end;
size is 40
TXACTUOW = TBOID
used by XACTOPT via midl - see transact.idl (* size is 16
BOID_NULL = (rgb : (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
IID_ITransaction = (D1 : $0fb15084; D2 : $af41; D3 : $11ce; D4 : ($bd, $2b, $20, $4c, $4f, $4f, $50, $20))
///////////////////////////////////////////////////////////////////// // IID definitions for interfaces defined in this header file //
IID_ITransactionCompletionEvents = (D1 : $B38D5220; D2 : $23CE; D3 : $11cf; D4 : ($AD, $60, $00, $AA, $00, $A7, $4C, $CD))
IID_ITransactionDispenser = (D1 : $3A6AD9E1; D2 : $23B9; D3 : $11cf; D4 : ($AD, $60, $00, $AA, $00, $A7, $4C, $CD))
IID_ITransactionOptions = (D1 : $3A6AD9E0; D2 : $23B9; D3 : $11cf; D4 : ($AD, $60, $00, $AA, $00, $A7, $4C, $CD))
IID_ITransactionOutcomeEvents = (D1 : $3A6AD9E2; D2 : $23B9; D3 : $11cf; D4 : ($AD, $60, $00, $AA, $00, $A7, $4C, $CD))
ISOFLAG_OPTIMISTIC = 16
ISOFLAG_RETAIN_ABORT = 8
ISOFLAG_RETAIN_ABORT_DC = 4
ISOFLAG_RETAIN_ABORT_NO = 12
ISOFLAG_RETAIN_BOTH = ISOFLAG_RETAIN_COMMIT or ISOFLAG_RETAIN_ABORT
ISOFLAG_RETAIN_COMMIT = 2
ISOFLAG_RETAIN_COMMIT_DC = 1
!! Correct size?
ISOFLAG_RETAIN_COMMIT_NO = 3
ISOFLAG_RETAIN_DONTCARE = ISOFLAG_RETAIN_COMMIT_DC or ISOFLAG_RETAIN_ABORT_DC
ISOFLAG_RETAIN_NONE = ISOFLAG_RETAIN_COMMIT_NO or ISOFLAG_RETAIN_ABORT_NO
ISOLATIONLEVEL_BROWSE = $100
ISOLATIONLEVEL_CHAOS = $10
ISOLATIONLEVEL_CURSORSTABILITY = $1000
ISOLATIONLEVEL_ISOLATED = $100000
ISOLATIONLEVEL_READCOMMITTED = $1000
ISOLATIONLEVEL_READUNCOMMITTED = $100
ISOLATIONLEVEL_REPEATABLEREAD = $10000
ISOLATIONLEVEL_SERIALIZABLE = $100000
ISOLATIONLEVEL_UNSPECIFIED = $ffffffff
MAX_TRAN_DESC = 40
!!
#define BOID_NULL (*((BOID*)(&IID_NULL)))
XACTCONST_TIMEOUTINFINITE = 0
!! Correct size?
XACTHEURISTIC_ABORT = 1
!! Correct size?
XACTHEURISTIC_COMMIT = 2
XACTHEURISTIC_DAMAGE = 3
XACTHEURISTIC_DANGER = 4
XACTRM_NOREADONLYPREPARES = 2
XACTRM_OPTIMISTICLASTWINS = 1
!! Correct size?
XACTSTAT_ABORTED = $200
XACTSTAT_ABORTING = $100
XACTSTAT_ALL = $7ffff
XACTSTAT_CLOSED = $40000
XACTSTAT_COMMITRETAINING = $80
XACTSTAT_COMMITTED = $400
XACTSTAT_COMMITTING = $40
XACTSTAT_FORCED_ABORT = $8000
XACTSTAT_FORCED_COMMIT = $10000
XACTSTAT_HEURISTIC_ABORT = $800
XACTSTAT_HEURISTIC_COMMIT = $1000
XACTSTAT_HEURISTIC_DAMAGE = $2000
XACTSTAT_HEURISTIC_DANGER = $4000
XACTSTAT_INDOUBT = $20000
XACTSTAT_NONE = 0
!! Correct size?
XACTSTAT_NOTPREPARED = $7ffc3
XACTSTAT_OPEN = $3
XACTSTAT_OPENNORMAL = $1
XACTSTAT_OPENREFUSED = $2
XACTSTAT_PREPARED = $8
XACTSTAT_PREPARERETAINED = $20
XACTSTAT_PREPARERETAINING = $10
XACTSTAT_PREPARING = $4
XACTTC_ASYNC_PHASEONE = 4
XACTTC_SYNC = 2
XACTTC_SYNC_PHASEONE = 1
!! Correct size?
XACTTC_SYNC_PHASETWO = 2
XACT_E_ABORTED = $8004D019
XACT_E_ALREADYINPROGRESS = $8004D018
XACT_E_ALREADYOTHERSINGLEPHASE = $8004D000
XACT_E_CANTRETAIN = $8004D001
XACT_E_COMMITFAILED = $8004D002
XACT_E_COMMITPREVENTED = $8004D003
XACT_E_CONNECTION_DENIED = $8004D01D
XACT_E_CONNECTION_DOWN = $8004D01C
XACT_E_FIRST = $8004D000
XACT_E_HEURISTICABORT = $8004D004
XACT_E_HEURISTICCOMMIT = $8004D005
XACT_E_HEURISTICDAMAGE = $8004D006
XACT_E_HEURISTICDANGER = $8004D007
XACT_E_INDOUBT = $8004D016
XACT_E_INVALIDCOOKIE = $8004D015
XACT_E_ISOLATIONLEVEL = $8004D008
XACT_E_LAST = $8004D01E
XACT_E_LOGFULL = $8004D01A
XACT_E_NOASYNC = $8004D009
XACT_E_NOENLIST = $8004D00A
XACT_E_NOIMPORTOBJECT = $8004D014
XACT_E_NOISORETAIN = $8004D00B
XACT_E_NORESOURCE = $8004D00C
XACT_E_NOTCURRENT = $8004D00D
XACT_E_NOTIMEOUT = $8004D017
XACT_E_NOTRANSACTION = $8004D00E
XACT_E_NOTSUPPORTED = $8004D00F
XACT_E_REENLISTTIMEOUT = $8004D01E
XACT_E_TMNOTAVAILABLE = $8004D01B
XACT_E_UNKNOWNRMGRID = $8004D010
XACT_E_WRONGSTATE = $8004D011
XACT_E_WRONGUOW = $8004D012
XACT_E_XTIONEXISTS = $8004D013
XACT_S_ABORTING = $0004D008
XACT_S_ALLNORETAIN = $0004D007
XACT_S_ASYNC = $0004D000
XACT_S_DEFECT = $0004D001
XACT_S_FIRST = $0004D000
XACT_S_LAST = $0004D009
XACT_S_MADECHANGESCONTENT = $0004D005
XACT_S_MADECHANGESINFORM = $0004D006
XACT_S_OKINFORM = $0004D004
XACT_S_READONLY = $0004D002
XACT_S_SINGLEPHASE = $0004D009
XACT_S_SOMENORETAIN = $0004D003