ReactOS 0.4.15-dev-8076-g06e89b2
ktmtypes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _TRANSACTION_NOTIFICATION
 
struct  _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT
 
struct  _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT
 
struct  _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT
 
struct  _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT
 
struct  _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT
 
struct  _KCRM_MARSHAL_HEADER
 
struct  _KCRM_TRANSACTION_BLOB
 
struct  _KCRM_PROTOCOL_BLOB
 

Macros

#define TRANSACTION_MANAGER_VOLATILE   0x00000001
 
#define TRANSACTION_MANAGER_COMMIT_DEFAULT   0x00000000
 
#define TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME   0x00000002
 
#define TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES   0x00000004
 
#define TRANSACTION_MANAGER_COMMIT_LOWEST   0x00000008
 
#define TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY   0x00000010
 
#define TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS   0x00000020
 
#define TRANSACTION_MANAGER_MAXIMUM_OPTION   0x0000003F
 
#define TRANSACTION_DO_NOT_PROMOTE   0x00000001
 
#define TRANSACTION_MAXIMUM_OPTION   0x00000001
 
#define RESOURCE_MANAGER_VOLATILE   0x00000001
 
#define RESOURCE_MANAGER_COMMUNICATION   0x00000002
 
#define RESOURCE_MANAGER_MAXIMUM_OPTION   0x00000003
 
#define CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY   0x00000001
 
#define CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO   0x00000002
 
#define CRM_PROTOCOL_MAXIMUM_OPTION   0x00000003
 
#define ENLISTMENT_SUPERIOR   0x00000001
 
#define ENLISTMENT_MAXIMUM_OPTION   0x00000001
 
#define TRANSACTION_NOTIFY_MASK   0x3FFFFFFF
 
#define TRANSACTION_NOTIFY_PREPREPARE   0x00000001
 
#define TRANSACTION_NOTIFY_PREPARE   0x00000002
 
#define TRANSACTION_NOTIFY_COMMIT   0x00000004
 
#define TRANSACTION_NOTIFY_ROLLBACK   0x00000008
 
#define TRANSACTION_NOTIFY_PREPREPARE_COMPLETE   0x00000010
 
#define TRANSACTION_NOTIFY_PREPARE_COMPLETE   0x00000020
 
#define TRANSACTION_NOTIFY_COMMIT_COMPLETE   0x00000040
 
#define TRANSACTION_NOTIFY_ROLLBACK_COMPLETE   0x00000080
 
#define TRANSACTION_NOTIFY_RECOVER   0x00000100
 
#define TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT   0x00000200
 
#define TRANSACTION_NOTIFY_DELEGATE_COMMIT   0x00000400
 
#define TRANSACTION_NOTIFY_RECOVER_QUERY   0x00000800
 
#define TRANSACTION_NOTIFY_ENLIST_PREPREPARE   0x00001000
 
#define TRANSACTION_NOTIFY_LAST_RECOVER   0x00002000
 
#define TRANSACTION_NOTIFY_INDOUBT   0x00004000
 
#define TRANSACTION_NOTIFY_PROPAGATE_PULL   0x00008000
 
#define TRANSACTION_NOTIFY_PROPAGATE_PUSH   0x00010000
 
#define TRANSACTION_NOTIFY_MARSHAL   0x00020000
 
#define TRANSACTION_NOTIFY_ENLIST_MASK   0x00040000
 
#define TRANSACTION_NOTIFY_RM_DISCONNECTED   0x01000000
 
#define TRANSACTION_NOTIFY_TM_ONLINE   0x02000000
 
#define TRANSACTION_NOTIFY_COMMIT_REQUEST   0x04000000
 
#define TRANSACTION_NOTIFY_PROMOTE   0x08000000
 
#define TRANSACTION_NOTIFY_PROMOTE_NEW   0x10000000
 
#define TRANSACTION_NOTIFY_REQUEST_OUTCOME   0x20000000
 
#define TRANSACTION_NOTIFY_COMMIT_FINALIZE   0x40000000
 
#define TRANSACTIONMANAGER_OBJECT_PATH   L"\\TransactionManager\\"
 
#define TRANSACTION_OBJECT_PATH   L"\\Transaction\\"
 
#define ENLISTMENT_OBJECT_PATH   L"\\Enlistment\\"
 
#define RESOURCE_MANAGER_OBJECT_PATH   L"\\ResourceManager\\"
 
#define TRANSACTIONMANAGER_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(TRANSACTIONMANAGER_OBJECT_PATH)+(38*sizeof(WCHAR)))
 
#define TRANSACTION_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(TRANSACTION_OBJECT_PATH)+(38*sizeof(WCHAR)))
 
#define ENLISTMENT_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(ENLISTMENT_OBJECT_PATH)+(38*sizeof(WCHAR)))
 
#define RESOURCE_MANAGER_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(RESOURCE_MANAGER_OBJECT_PATH)+(38*sizeof(WCHAR)))
 
#define TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED   0x1
 
#define KTM_MARSHAL_BLOB_VERSION_MAJOR   1
 
#define KTM_MARSHAL_BLOB_VERSION_MINOR   1
 
#define MAX_TRANSACTION_DESCRIPTION_LENGTH   64
 
#define MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH   64
 

Typedefs

typedef GUID UOW
 
typedef GUIDPUOW
 
typedef GUID CRM_PROTOCOL_ID
 
typedef GUIDPCRM_PROTOCOL_ID
 
typedef ULONG NOTIFICATION_MASK
 
typedef ULONG SAVEPOINT_ID
 
typedef ULONGPSAVEPOINT_ID
 
typedef struct _TRANSACTION_NOTIFICATION TRANSACTION_NOTIFICATION
 
typedef struct _TRANSACTION_NOTIFICATIONPTRANSACTION_NOTIFICATION
 
typedef struct _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENTPTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENTPTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENTPTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENTPTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENTPTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT
 
typedef struct _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENTPTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT
 
typedef struct _KCRM_MARSHAL_HEADER KCRM_MARSHAL_HEADER
 
typedef struct _KCRM_MARSHAL_HEADERPKCRM_MARSHAL_HEADER
 
typedef struct _KCRM_MARSHAL_HEADER PRKCRM_MARSHAL_HEADER
 
typedef struct _KCRM_TRANSACTION_BLOB KCRM_TRANSACTION_BLOB
 
typedef struct _KCRM_TRANSACTION_BLOBPKCRM_TRANSACTION_BLOB
 
typedef struct _KCRM_TRANSACTION_BLOB PRKCRM_TRANSACTION_BLOB
 
typedef struct _KCRM_PROTOCOL_BLOB KCRM_PROTOCOL_BLOB
 
typedef struct _KCRM_PROTOCOL_BLOBPKCRM_PROTOCOL_BLOB
 
typedef struct _KCRM_PROTOCOL_BLOB PRKCRM_PROTOCOL_BLOB
 

Macro Definition Documentation

◆ CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO

#define CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO   0x00000002

Definition at line 41 of file ktmtypes.h.

◆ CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY

#define CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY   0x00000001

Definition at line 40 of file ktmtypes.h.

◆ CRM_PROTOCOL_MAXIMUM_OPTION

#define CRM_PROTOCOL_MAXIMUM_OPTION   0x00000003

Definition at line 42 of file ktmtypes.h.

◆ ENLISTMENT_MAXIMUM_OPTION

#define ENLISTMENT_MAXIMUM_OPTION   0x00000001

Definition at line 45 of file ktmtypes.h.

◆ ENLISTMENT_OBJECT_NAME_LENGTH_IN_BYTES

#define ENLISTMENT_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(ENLISTMENT_OBJECT_PATH)+(38*sizeof(WCHAR)))

Definition at line 83 of file ktmtypes.h.

◆ ENLISTMENT_OBJECT_PATH

#define ENLISTMENT_OBJECT_PATH   L"\\Enlistment\\"

Definition at line 78 of file ktmtypes.h.

◆ ENLISTMENT_SUPERIOR

#define ENLISTMENT_SUPERIOR   0x00000001

Definition at line 44 of file ktmtypes.h.

◆ KTM_MARSHAL_BLOB_VERSION_MAJOR

#define KTM_MARSHAL_BLOB_VERSION_MAJOR   1

Definition at line 88 of file ktmtypes.h.

◆ KTM_MARSHAL_BLOB_VERSION_MINOR

#define KTM_MARSHAL_BLOB_VERSION_MINOR   1

Definition at line 89 of file ktmtypes.h.

◆ MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH

#define MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH   64

Definition at line 92 of file ktmtypes.h.

◆ MAX_TRANSACTION_DESCRIPTION_LENGTH

#define MAX_TRANSACTION_DESCRIPTION_LENGTH   64

Definition at line 91 of file ktmtypes.h.

◆ RESOURCE_MANAGER_COMMUNICATION

#define RESOURCE_MANAGER_COMMUNICATION   0x00000002

Definition at line 37 of file ktmtypes.h.

◆ RESOURCE_MANAGER_MAXIMUM_OPTION

#define RESOURCE_MANAGER_MAXIMUM_OPTION   0x00000003

Definition at line 38 of file ktmtypes.h.

◆ RESOURCE_MANAGER_OBJECT_NAME_LENGTH_IN_BYTES

#define RESOURCE_MANAGER_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(RESOURCE_MANAGER_OBJECT_PATH)+(38*sizeof(WCHAR)))

Definition at line 84 of file ktmtypes.h.

◆ RESOURCE_MANAGER_OBJECT_PATH

#define RESOURCE_MANAGER_OBJECT_PATH   L"\\ResourceManager\\"

Definition at line 79 of file ktmtypes.h.

◆ RESOURCE_MANAGER_VOLATILE

#define RESOURCE_MANAGER_VOLATILE   0x00000001

Definition at line 36 of file ktmtypes.h.

◆ TRANSACTION_DO_NOT_PROMOTE

#define TRANSACTION_DO_NOT_PROMOTE   0x00000001

Definition at line 33 of file ktmtypes.h.

◆ TRANSACTION_MANAGER_COMMIT_DEFAULT

#define TRANSACTION_MANAGER_COMMIT_DEFAULT   0x00000000

Definition at line 25 of file ktmtypes.h.

◆ TRANSACTION_MANAGER_COMMIT_LOWEST

#define TRANSACTION_MANAGER_COMMIT_LOWEST   0x00000008

Definition at line 28 of file ktmtypes.h.

◆ TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES

#define TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES   0x00000004

Definition at line 27 of file ktmtypes.h.

◆ TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME

#define TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME   0x00000002

Definition at line 26 of file ktmtypes.h.

◆ TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS

#define TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS   0x00000020

Definition at line 30 of file ktmtypes.h.

◆ TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY

#define TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY   0x00000010

Definition at line 29 of file ktmtypes.h.

◆ TRANSACTION_MANAGER_MAXIMUM_OPTION

#define TRANSACTION_MANAGER_MAXIMUM_OPTION   0x0000003F

Definition at line 31 of file ktmtypes.h.

◆ TRANSACTION_MANAGER_VOLATILE

#define TRANSACTION_MANAGER_VOLATILE   0x00000001

Definition at line 24 of file ktmtypes.h.

◆ TRANSACTION_MAXIMUM_OPTION

#define TRANSACTION_MAXIMUM_OPTION   0x00000001

Definition at line 34 of file ktmtypes.h.

◆ TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED

#define TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED   0x1

Definition at line 86 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_COMMIT

#define TRANSACTION_NOTIFY_COMMIT   0x00000004

Definition at line 50 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_COMMIT_COMPLETE

#define TRANSACTION_NOTIFY_COMMIT_COMPLETE   0x00000040

Definition at line 54 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_COMMIT_FINALIZE

#define TRANSACTION_NOTIFY_COMMIT_FINALIZE   0x40000000

Definition at line 74 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_COMMIT_REQUEST

#define TRANSACTION_NOTIFY_COMMIT_REQUEST   0x04000000

Definition at line 69 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_DELEGATE_COMMIT

#define TRANSACTION_NOTIFY_DELEGATE_COMMIT   0x00000400

Definition at line 58 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_ENLIST_MASK

#define TRANSACTION_NOTIFY_ENLIST_MASK   0x00040000

Definition at line 66 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_ENLIST_PREPREPARE

#define TRANSACTION_NOTIFY_ENLIST_PREPREPARE   0x00001000

Definition at line 60 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_INDOUBT

#define TRANSACTION_NOTIFY_INDOUBT   0x00004000

Definition at line 62 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_LAST_RECOVER

#define TRANSACTION_NOTIFY_LAST_RECOVER   0x00002000

Definition at line 61 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_MARSHAL

#define TRANSACTION_NOTIFY_MARSHAL   0x00020000

Definition at line 65 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_MASK

#define TRANSACTION_NOTIFY_MASK   0x3FFFFFFF

Definition at line 47 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_PREPARE

#define TRANSACTION_NOTIFY_PREPARE   0x00000002

Definition at line 49 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_PREPARE_COMPLETE

#define TRANSACTION_NOTIFY_PREPARE_COMPLETE   0x00000020

Definition at line 53 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_PREPREPARE

#define TRANSACTION_NOTIFY_PREPREPARE   0x00000001

Definition at line 48 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_PREPREPARE_COMPLETE

#define TRANSACTION_NOTIFY_PREPREPARE_COMPLETE   0x00000010

Definition at line 52 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_PROMOTE

#define TRANSACTION_NOTIFY_PROMOTE   0x08000000

Definition at line 70 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_PROMOTE_NEW

#define TRANSACTION_NOTIFY_PROMOTE_NEW   0x10000000

Definition at line 71 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_PROPAGATE_PULL

#define TRANSACTION_NOTIFY_PROPAGATE_PULL   0x00008000

Definition at line 63 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_PROPAGATE_PUSH

#define TRANSACTION_NOTIFY_PROPAGATE_PUSH   0x00010000

Definition at line 64 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_RECOVER

#define TRANSACTION_NOTIFY_RECOVER   0x00000100

Definition at line 56 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_RECOVER_QUERY

#define TRANSACTION_NOTIFY_RECOVER_QUERY   0x00000800

Definition at line 59 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_REQUEST_OUTCOME

#define TRANSACTION_NOTIFY_REQUEST_OUTCOME   0x20000000

Definition at line 72 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_RM_DISCONNECTED

#define TRANSACTION_NOTIFY_RM_DISCONNECTED   0x01000000

Definition at line 67 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_ROLLBACK

#define TRANSACTION_NOTIFY_ROLLBACK   0x00000008

Definition at line 51 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_ROLLBACK_COMPLETE

#define TRANSACTION_NOTIFY_ROLLBACK_COMPLETE   0x00000080

Definition at line 55 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT

#define TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT   0x00000200

Definition at line 57 of file ktmtypes.h.

◆ TRANSACTION_NOTIFY_TM_ONLINE

#define TRANSACTION_NOTIFY_TM_ONLINE   0x02000000

Definition at line 68 of file ktmtypes.h.

◆ TRANSACTION_OBJECT_NAME_LENGTH_IN_BYTES

#define TRANSACTION_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(TRANSACTION_OBJECT_PATH)+(38*sizeof(WCHAR)))

Definition at line 82 of file ktmtypes.h.

◆ TRANSACTION_OBJECT_PATH

#define TRANSACTION_OBJECT_PATH   L"\\Transaction\\"

Definition at line 77 of file ktmtypes.h.

◆ TRANSACTIONMANAGER_OBJECT_NAME_LENGTH_IN_BYTES

#define TRANSACTIONMANAGER_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(TRANSACTIONMANAGER_OBJECT_PATH)+(38*sizeof(WCHAR)))

Definition at line 81 of file ktmtypes.h.

◆ TRANSACTIONMANAGER_OBJECT_PATH

#define TRANSACTIONMANAGER_OBJECT_PATH   L"\\TransactionManager\\"

Definition at line 76 of file ktmtypes.h.

Typedef Documentation

◆ CRM_PROTOCOL_ID

Definition at line 98 of file ktmtypes.h.

◆ KCRM_MARSHAL_HEADER

◆ KCRM_PROTOCOL_BLOB

◆ KCRM_TRANSACTION_BLOB

◆ NOTIFICATION_MASK

Definition at line 99 of file ktmtypes.h.

◆ PCRM_PROTOCOL_ID

Definition at line 98 of file ktmtypes.h.

◆ PKCRM_MARSHAL_HEADER

◆ PKCRM_PROTOCOL_BLOB

◆ PKCRM_TRANSACTION_BLOB

◆ PRKCRM_MARSHAL_HEADER

◆ PRKCRM_PROTOCOL_BLOB

◆ PRKCRM_TRANSACTION_BLOB

◆ PSAVEPOINT_ID

typedef ULONG * PSAVEPOINT_ID

Definition at line 100 of file ktmtypes.h.

◆ PTRANSACTION_NOTIFICATION

◆ PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT

◆ PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT

◆ PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT

◆ PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT

◆ PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT

◆ PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT

◆ PUOW

typedef GUID * PUOW

Definition at line 95 of file ktmtypes.h.

◆ SAVEPOINT_ID

Definition at line 100 of file ktmtypes.h.

◆ TRANSACTION_NOTIFICATION

◆ TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT

◆ TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT

◆ TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT

◆ TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT

◆ TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT

◆ TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT

◆ UOW

typedef GUID UOW

Definition at line 95 of file ktmtypes.h.