mirror of https://github.com/UMSKT/xpmgr.git
346 lines
6.3 KiB
C
346 lines
6.3 KiB
C
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
ktmw32.h
|
|
|
|
Abstract:
|
|
|
|
Public API include file for the TM subcomponent of the NTOS project
|
|
|
|
Author:
|
|
|
|
Jon Cargille (jcargill) 5-Jun-2001
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _KTMUSER_
|
|
#define _KTMUSER_
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
//
|
|
// Win32-level transaction manager API calls
|
|
//
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
CreateTransaction (
|
|
IN LPSECURITY_ATTRIBUTES lpTransactionAttributes OPTIONAL,
|
|
IN LPGUID UOW OPTIONAL,
|
|
IN DWORD CreateOptions OPTIONAL,
|
|
IN DWORD IsolationLevel OPTIONAL,
|
|
IN DWORD IsolationFlags OPTIONAL,
|
|
IN DWORD Timeout OPTIONAL,
|
|
__in_opt LPWSTR Description
|
|
);
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
OpenTransaction (
|
|
IN DWORD dwDesiredAccess,
|
|
IN LPGUID TransactionId
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
CommitTransaction (
|
|
IN HANDLE TransactionHandle
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
CommitTransactionAsync (
|
|
IN HANDLE TransactionHandle
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RollbackTransaction (
|
|
IN HANDLE TransactionHandle
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RollbackTransactionAsync (
|
|
IN HANDLE TransactionHandle
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
GetTransactionId (
|
|
IN HANDLE TransactionHandle,
|
|
OUT LPGUID TransactionId
|
|
);
|
|
|
|
|
|
BOOL
|
|
APIENTRY
|
|
GetTransactionInformation (
|
|
IN HANDLE TransactionHandle,
|
|
OUT PDWORD Outcome OPTIONAL,
|
|
OUT PDWORD IsolationLevel OPTIONAL,
|
|
OUT PDWORD IsolationFlags OPTIONAL,
|
|
OUT PDWORD Timeout OPTIONAL,
|
|
__in DWORD BufferLength,
|
|
__out_ecount_part_opt(BufferLength, return + 1) LPWSTR Description
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
SetTransactionInformation (
|
|
IN HANDLE TransactionHandle,
|
|
IN DWORD IsolationLevel OPTIONAL,
|
|
IN DWORD IsolationFlags OPTIONAL,
|
|
IN DWORD Timeout OPTIONAL,
|
|
__in_opt LPWSTR Description
|
|
);
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
CreateTransactionManager (
|
|
IN LPSECURITY_ATTRIBUTES lpTransactionAttributes OPTIONAL,
|
|
__in LPWSTR LogFileName,
|
|
IN ULONG CreateOptions OPTIONAL,
|
|
IN ULONG CommitStrength OPTIONAL
|
|
);
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
OpenTransactionManager (
|
|
__in LPWSTR LogFileName,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN ULONG OpenOptions OPTIONAL
|
|
);
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
OpenTransactionManagerById (
|
|
__in LPGUID TransactionManagerId,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN ULONG OpenOptions OPTIONAL
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RenameTransactionManager (
|
|
__in LPWSTR LogFileName,
|
|
IN LPGUID ExistingTransactionManagerGuid
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RollforwardTransactionManager (
|
|
IN HANDLE TransactionManagerHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RecoverTransactionManager (
|
|
IN HANDLE TransactionManagerHandle
|
|
);
|
|
|
|
BOOL
|
|
GetCurrentClockTransactionManager(
|
|
IN HANDLE TransactionManagerHandle,
|
|
OUT PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
GetTransactionManagerId(
|
|
IN HANDLE TransactionManagerHandle,
|
|
OUT LPGUID TransactionManagerId
|
|
);
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
CreateResourceManager (
|
|
IN LPSECURITY_ATTRIBUTES lpResourceManagerAttributes OPTIONAL,
|
|
IN LPGUID ResourceManagerId,
|
|
IN DWORD CreateOptions OPTIONAL,
|
|
IN HANDLE TmHandle,
|
|
__in_opt LPWSTR Description
|
|
);
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
OpenResourceManager (
|
|
IN DWORD dwDesiredAccess,
|
|
IN HANDLE TmHandle,
|
|
IN LPGUID ResourceManagerId
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RecoverResourceManager (
|
|
IN HANDLE ResourceManagerHandle
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
GetNotificationResourceManager (
|
|
IN HANDLE ResourceManagerHandle,
|
|
OUT PTRANSACTION_NOTIFICATION TransactionNotification,
|
|
IN ULONG NotificationLength,
|
|
IN DWORD dwMilliseconds OPTIONAL,
|
|
OUT PULONG ReturnLength OPTIONAL
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
GetNotificationResourceManagerAsync (
|
|
IN HANDLE ResourceManagerHandle,
|
|
OUT PTRANSACTION_NOTIFICATION TransactionNotification,
|
|
IN ULONG TransactionNotificationLength,
|
|
OUT PULONG ReturnLength,
|
|
IN LPOVERLAPPED lpOverlapped
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
SetResourceManagerCompletionPort(
|
|
IN HANDLE ResourceManagerHandle,
|
|
IN HANDLE IoCompletionPortHandle,
|
|
IN ULONG_PTR CompletionKey
|
|
);
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
CreateEnlistment (
|
|
IN LPSECURITY_ATTRIBUTES lpEnlistmentAttributes OPTIONAL,
|
|
IN HANDLE ResourceManagerHandle,
|
|
IN HANDLE TransactionHandle,
|
|
IN NOTIFICATION_MASK NotificationMask,
|
|
IN DWORD CreateOptions OPTIONAL,
|
|
IN PVOID EnlistmentKey OPTIONAL
|
|
);
|
|
|
|
HANDLE
|
|
APIENTRY
|
|
OpenEnlistment (
|
|
IN DWORD dwDesiredAccess,
|
|
IN HANDLE ResourceManagerHandle,
|
|
IN LPGUID EnlistmentId
|
|
);
|
|
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RecoverEnlistment (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PVOID EnlistmentKey OPTIONAL
|
|
);
|
|
|
|
|
|
BOOL
|
|
APIENTRY
|
|
GetEnlistmentRecoveryInformation (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN ULONG BufferSize,
|
|
OUT PVOID Buffer,
|
|
OUT PULONG BufferUsed OPTIONAL
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
GetEnlistmentId (
|
|
IN HANDLE EnlistmentHandle,
|
|
OUT LPGUID EnlistmentId
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
SetEnlistmentRecoveryInformation (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN ULONG BufferSize,
|
|
IN PVOID Buffer
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
PrepareEnlistment (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
PrePrepareEnlistment (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
CommitEnlistment (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RollbackEnlistment (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
PrePrepareComplete (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
PrepareComplete (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
ReadOnlyEnlistment (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
CommitComplete (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
RollbackComplete (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
SinglePhaseReject (
|
|
IN HANDLE EnlistmentHandle,
|
|
IN PLARGE_INTEGER TmVirtualClock
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif // _KTMUSER_
|
|
|
|
|