typedef struct _KTM
{
    unsigned long cookie;
    KMUTANT Mutex;
    KTM_STATE State;
    KTMOBJECT_NAMESPACE_LINK NamespaceLink;
    GUID TmIdentity;
    unsigned long Flags;
    unsigned long VolatileFlags;
    UNICODE_STRING LogFileName;
    FILE_OBJECT *LogFileObject;
    void *MarshallingContext;
    void *LogManagementContext;
    KTMOBJECT_NAMESPACE Transactions;
    KTMOBJECT_NAMESPACE ResourceManagers;
    KMUTANT LsnOrderedMutex;
    LIST_ENTRY LsnOrderedList;
    LARGE_INTEGER CommitVirtualClock;
    FAST_MUTEX CommitVirtualClockMutex;
    CLS_LSN BaseLsn;
    CLS_LSN CurrentReadLsn;
    CLS_LSN LastRecoveredLsn;
    void *TmRmHandle;
    KRESOURCEMANAGER *TmRm;
    KEVENT LogFullNotifyEvent;
    WORK_QUEUE_ITEM CheckpointWorkItem;
    CLS_LSN CheckpointTargetLsn;
    WORK_QUEUE_ITEM LogFullCompletedWorkItem;
    ERESOURCE LogWriteResource;
    unsigned long LogFlags;
    long LogFullStatus;
    long RecoveryStatus;
    CLS_LSN LastCheckBaseLsn;
    LIST_ENTRY RestartOrderedList;
    WORK_QUEUE_ITEM OfflineWorkItem;
} KTM, *PKTM;