ReactOS 0.4.16-dev-338-g34e76ad
nttmapi.h File Reference
#include <ktmtypes.h>
Include dependency graph for nttmapi.h:

Go to the source code of this file.

Classes

struct  _TRANSACTION_BASIC_INFORMATION
 
struct  _TRANSACTIONMANAGER_BASIC_INFORMATION
 
struct  _TRANSACTIONMANAGER_LOG_INFORMATION
 
struct  _TRANSACTIONMANAGER_LOGPATH_INFORMATION
 
struct  _TRANSACTIONMANAGER_RECOVERY_INFORMATION
 
struct  _TRANSACTION_PROPERTIES_INFORMATION
 
struct  _TRANSACTION_BIND_INFORMATION
 
struct  _TRANSACTION_ENLISTMENT_PAIR
 
struct  _TRANSACTION_ENLISTMENTS_INFORMATION
 
struct  _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION
 
struct  _RESOURCEMANAGER_BASIC_INFORMATION
 
struct  _RESOURCEMANAGER_COMPLETION_INFORMATION
 
struct  _KTMOBJECT_CURSOR
 
struct  _ENLISTMENT_BASIC_INFORMATION
 
struct  _ENLISTMENT_CRM_INFORMATION
 
struct  _TRANSACTION_LIST_ENTRY
 
struct  _TRANSACTION_LIST_INFORMATION
 

Macros

#define TRANSACTIONMANAGER_QUERY_INFORMATION   (0x0001)
 
#define TRANSACTIONMANAGER_SET_INFORMATION   (0x0002)
 
#define TRANSACTIONMANAGER_RECOVER   (0x0004)
 
#define TRANSACTIONMANAGER_RENAME   (0x0008)
 
#define TRANSACTIONMANAGER_CREATE_RM   (0x0010)
 
#define TRANSACTIONMANAGER_BIND_TRANSACTION   (0x0020)
 
#define TRANSACTIONMANAGER_GENERIC_READ
 
#define TRANSACTIONMANAGER_GENERIC_WRITE
 
#define TRANSACTIONMANAGER_GENERIC_EXECUTE   (STANDARD_RIGHTS_EXECUTE)
 
#define TRANSACTIONMANAGER_ALL_ACCESS
 
#define TRANSACTION_QUERY_INFORMATION   (0x0001)
 
#define TRANSACTION_SET_INFORMATION   (0x0002)
 
#define TRANSACTION_ENLIST   (0x0004)
 
#define TRANSACTION_COMMIT   (0x0008)
 
#define TRANSACTION_ROLLBACK   (0x0010)
 
#define TRANSACTION_PROPAGATE   (0x0020)
 
#define TRANSACTION_RIGHT_RESERVED1   (0x0040)
 
#define TRANSACTION_GENERIC_READ
 
#define TRANSACTION_GENERIC_WRITE
 
#define TRANSACTION_GENERIC_EXECUTE
 
#define TRANSACTION_ALL_ACCESS
 
#define TRANSACTION_RESOURCE_MANAGER_RIGHTS
 
#define RESOURCEMANAGER_QUERY_INFORMATION   (0x0001)
 
#define RESOURCEMANAGER_SET_INFORMATION   (0x0002)
 
#define RESOURCEMANAGER_RECOVER   (0x0004)
 
#define RESOURCEMANAGER_ENLIST   (0x0008)
 
#define RESOURCEMANAGER_GET_NOTIFICATION   (0x0010)
 
#define RESOURCEMANAGER_REGISTER_PROTOCOL   (0x0020)
 
#define RESOURCEMANAGER_COMPLETE_PROPAGATION   (0x0040)
 
#define RESOURCEMANAGER_GENERIC_READ
 
#define RESOURCEMANAGER_GENERIC_WRITE
 
#define RESOURCEMANAGER_GENERIC_EXECUTE
 
#define RESOURCEMANAGER_ALL_ACCESS
 
#define ENLISTMENT_QUERY_INFORMATION   (0x0001)
 
#define ENLISTMENT_SET_INFORMATION   (0x0002)
 
#define ENLISTMENT_RECOVER   (0x0004)
 
#define ENLISTMENT_SUBORDINATE_RIGHTS   (0x0008)
 
#define ENLISTMENT_SUPERIOR_RIGHTS   (0x0010)
 
#define ENLISTMENT_GENERIC_READ
 
#define ENLISTMENT_GENERIC_WRITE
 
#define ENLISTMENT_GENERIC_EXECUTE
 
#define ENLISTMENT_ALL_ACCESS
 

Typedefs

typedef enum _TRANSACTION_OUTCOME TRANSACTION_OUTCOME
 
typedef enum _TRANSACTION_STATE TRANSACTION_STATE
 
typedef struct _TRANSACTION_BASIC_INFORMATION TRANSACTION_BASIC_INFORMATION
 
typedef struct _TRANSACTION_BASIC_INFORMATIONPTRANSACTION_BASIC_INFORMATION
 
typedef struct _TRANSACTIONMANAGER_BASIC_INFORMATION TRANSACTIONMANAGER_BASIC_INFORMATION
 
typedef struct _TRANSACTIONMANAGER_BASIC_INFORMATIONPTRANSACTIONMANAGER_BASIC_INFORMATION
 
typedef struct _TRANSACTIONMANAGER_LOG_INFORMATION TRANSACTIONMANAGER_LOG_INFORMATION
 
typedef struct _TRANSACTIONMANAGER_LOG_INFORMATIONPTRANSACTIONMANAGER_LOG_INFORMATION
 
typedef struct _TRANSACTIONMANAGER_LOGPATH_INFORMATION TRANSACTIONMANAGER_LOGPATH_INFORMATION
 
typedef struct _TRANSACTIONMANAGER_LOGPATH_INFORMATIONPTRANSACTIONMANAGER_LOGPATH_INFORMATION
 
typedef struct _TRANSACTIONMANAGER_RECOVERY_INFORMATION TRANSACTIONMANAGER_RECOVERY_INFORMATION
 
typedef struct _TRANSACTIONMANAGER_RECOVERY_INFORMATIONPTRANSACTIONMANAGER_RECOVERY_INFORMATION
 
typedef struct _TRANSACTION_PROPERTIES_INFORMATION TRANSACTION_PROPERTIES_INFORMATION
 
typedef struct _TRANSACTION_PROPERTIES_INFORMATIONPTRANSACTION_PROPERTIES_INFORMATION
 
typedef struct _TRANSACTION_BIND_INFORMATION TRANSACTION_BIND_INFORMATION
 
typedef struct _TRANSACTION_BIND_INFORMATIONPTRANSACTION_BIND_INFORMATION
 
typedef struct _TRANSACTION_ENLISTMENT_PAIR TRANSACTION_ENLISTMENT_PAIR
 
typedef struct _TRANSACTION_ENLISTMENT_PAIRPTRANSACTION_ENLISTMENT_PAIR
 
typedef struct _TRANSACTION_ENLISTMENTS_INFORMATION TRANSACTION_ENLISTMENTS_INFORMATION
 
typedef struct _TRANSACTION_ENLISTMENTS_INFORMATIONPTRANSACTION_ENLISTMENTS_INFORMATION
 
typedef struct _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION
 
typedef struct _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATIONPTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION
 
typedef struct _RESOURCEMANAGER_BASIC_INFORMATION RESOURCEMANAGER_BASIC_INFORMATION
 
typedef struct _RESOURCEMANAGER_BASIC_INFORMATIONPRESOURCEMANAGER_BASIC_INFORMATION
 
typedef struct _RESOURCEMANAGER_COMPLETION_INFORMATION RESOURCEMANAGER_COMPLETION_INFORMATION
 
typedef struct _RESOURCEMANAGER_COMPLETION_INFORMATIONPRESOURCEMANAGER_COMPLETION_INFORMATION
 
typedef enum _KTMOBJECT_TYPE KTMOBJECT_TYPE
 
typedef enum _KTMOBJECT_TYPEPKTMOBJECT_TYPE
 
typedef struct _KTMOBJECT_CURSOR KTMOBJECT_CURSOR
 
typedef struct _KTMOBJECT_CURSORPKTMOBJECT_CURSOR
 
typedef enum _TRANSACTION_INFORMATION_CLASS TRANSACTION_INFORMATION_CLASS
 
typedef enum _TRANSACTIONMANAGER_INFORMATION_CLASS TRANSACTIONMANAGER_INFORMATION_CLASS
 
typedef enum _RESOURCEMANAGER_INFORMATION_CLASS RESOURCEMANAGER_INFORMATION_CLASS
 
typedef struct _ENLISTMENT_BASIC_INFORMATION ENLISTMENT_BASIC_INFORMATION
 
typedef struct _ENLISTMENT_BASIC_INFORMATIONPENLISTMENT_BASIC_INFORMATION
 
typedef struct _ENLISTMENT_CRM_INFORMATION ENLISTMENT_CRM_INFORMATION
 
typedef struct _ENLISTMENT_CRM_INFORMATIONPENLISTMENT_CRM_INFORMATION
 
typedef enum _ENLISTMENT_INFORMATION_CLASS ENLISTMENT_INFORMATION_CLASS
 
typedef struct _TRANSACTION_LIST_ENTRY TRANSACTION_LIST_ENTRY
 
typedef struct _TRANSACTION_LIST_ENTRYPTRANSACTION_LIST_ENTRY
 
typedef struct _TRANSACTION_LIST_INFORMATION TRANSACTION_LIST_INFORMATION
 
typedef struct _TRANSACTION_LIST_INFORMATIONPTRANSACTION_LIST_INFORMATION
 
typedef NTSTATUS(NTAPIPFN_NT_CREATE_TRANSACTION) (_Out_ PHANDLE TransactionHandle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_opt_ LPGUID Uow, _In_opt_ HANDLE TmHandle, _In_opt_ ULONG CreateOptions, _In_opt_ ULONG IsolationLevel, _In_opt_ ULONG IsolationFlags, _In_opt_ PLARGE_INTEGER Timeout, _In_opt_ PUNICODE_STRING Description)
 
typedef NTSTATUS(NTAPIPFN_NT_OPEN_TRANSACTION) (_Out_ PHANDLE TransactionHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _In_opt_ LPGUID Uow, _In_opt_ HANDLE TmHandle)
 
typedef NTSTATUS(NTAPIPFN_NT_QUERY_INFORMATION_TRANSACTION) (_In_ HANDLE TransactionHandle, _In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass, _Out_writes_bytes_(TransactionInformationLength) PVOID TransactionInformation, _In_ ULONG TransactionInformationLength, _Out_opt_ PULONG ReturnLength)
 
typedef NTSTATUS(NTAPIPFN_NT_SET_INFORMATION_TRANSACTION) (_In_ HANDLE TransactionHandle, _In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass, _In_ PVOID TransactionInformation, _In_ ULONG TransactionInformationLength)
 
typedef NTSTATUS(NTAPIPFN_NT_COMMIT_TRANSACTION) (_In_ HANDLE TransactionHandle, _In_ BOOLEAN Wait)
 
typedef NTSTATUS(NTAPIPFN_NT_ROLLBACK_TRANSACTION) (_In_ HANDLE TransactionHandle, _In_ BOOLEAN Wait)
 

Enumerations

enum  _TRANSACTION_OUTCOME { TransactionOutcomeUndetermined = 1 , TransactionOutcomeCommitted , TransactionOutcomeAborted }
 
enum  _TRANSACTION_STATE { TransactionStateNormal = 1 , TransactionStateIndoubt , TransactionStateCommittedNotify }
 
enum  _KTMOBJECT_TYPE {
  KTMOBJECT_TRANSACTION , KTMOBJECT_TRANSACTION_MANAGER , KTMOBJECT_RESOURCE_MANAGER , KTMOBJECT_ENLISTMENT ,
  KTMOBJECT_INVALID
}
 
enum  _TRANSACTION_INFORMATION_CLASS { TransactionBasicInformation , TransactionPropertiesInformation , TransactionEnlistmentInformation , TransactionSuperiorEnlistmentInformation }
 
enum  _TRANSACTIONMANAGER_INFORMATION_CLASS { TransactionManagerBasicInformation , TransactionManagerLogInformation , TransactionManagerLogPathInformation , TransactionManagerRecoveryInformation = 4 }
 
enum  _RESOURCEMANAGER_INFORMATION_CLASS { ResourceManagerBasicInformation , ResourceManagerCompletionInformation }
 
enum  _ENLISTMENT_INFORMATION_CLASS { EnlistmentBasicInformation , EnlistmentRecoveryInformation , EnlistmentCrmInformation }
 

Functions

_Must_inspect_result_ _IRQL_requires_max_ (APC_LEVEL) __kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtCreateTransactionManager(_Out_ PHANDLE TmHandle
 Probes and locks virtual pages in memory for the specified process.
 
_Must_inspect_result_ _In_ TRANSACTIONMANAGER_INFORMATION_CLASS _Out_writes_bytes_ (TransactionManagerInformationLength) PVOID TransactionManagerInformation
 
_Must_inspect_result_ _In_ TRANSACTIONMANAGER_INFORMATION_CLASS _In_reads_bytes_ (TransactionManagerInformationLength) PVOID TransactionManagerInformation
 
_Must_inspect_result_ _In_ KTMOBJECT_TYPE _Inout_updates_bytes_ (ObjectCursorLength) PKTMOBJECT_CURSOR ObjectCursor
 
_Must_inspect_result_ _In_ TRANSACTION_INFORMATION_CLASS _Out_writes_bytes_ (TransactionInformationLength) PVOID TransactionInformation
 
_Must_inspect_result_ _In_ TRANSACTION_INFORMATION_CLASS _In_reads_bytes_ (TransactionInformationLength) PVOID TransactionInformation
 
_Must_inspect_result_ _In_ ENLISTMENT_INFORMATION_CLASS _Out_writes_bytes_ (EnlistmentInformationLength) PVOID EnlistmentInformation
 
_Must_inspect_result_ _In_ ENLISTMENT_INFORMATION_CLASS _In_reads_bytes_ (EnlistmentInformationLength) PVOID EnlistmentInformation
 
_Must_inspect_result_ _In_ RESOURCEMANAGER_INFORMATION_CLASS _Out_writes_bytes_ (ResourceManagerInformationLength) PVOID ResourceManagerInformation
 
_Must_inspect_result_ _In_ RESOURCEMANAGER_INFORMATION_CLASS _In_reads_bytes_ (ResourceManagerInformationLength) PVOID ResourceManagerInformation
 

Variables

_Must_inspect_result_ _In_ ACCESS_MASK DesiredAccess
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PUNICODE_STRING LogFileName
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PUNICODE_STRING _In_opt_ ULONG CreateOptions
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PUNICODE_STRING _In_opt_ ULONG _In_opt_ ULONG CommitStrength
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PUNICODE_STRING _In_opt_ LPGUID TmIdentity
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PUNICODE_STRING _In_opt_ LPGUID _In_opt_ ULONG OpenOptions
 
_Must_inspect_result_ _In_ LPGUID ExistingTransactionManagerGuid
 
_Must_inspect_result_ _In_opt_ PLARGE_INTEGER TmVirtualClock
 
_Must_inspect_result_ _In_ TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass
 
_Must_inspect_result_ _In_ TRANSACTIONMANAGER_INFORMATION_CLASS _In_ ULONG TransactionManagerInformationLength
 
_Must_inspect_result_ _In_ TRANSACTIONMANAGER_INFORMATION_CLASS _In_ ULONG _Out_ PULONG ReturnLength
 
_Must_inspect_result_ _In_ KTMOBJECT_TYPE QueryType
 
_Must_inspect_result_ _In_ KTMOBJECT_TYPE _In_ ULONG ObjectCursorLength
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID Uow
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID _In_opt_ HANDLE TmHandle
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID _In_opt_ HANDLE _In_opt_ ULONG _In_opt_ ULONG IsolationLevel
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID _In_opt_ HANDLE _In_opt_ ULONG _In_opt_ ULONG _In_opt_ ULONG IsolationFlags
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID _In_opt_ HANDLE _In_opt_ ULONG _In_opt_ ULONG _In_opt_ ULONG _In_opt_ PLARGE_INTEGER Timeout
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID _In_opt_ HANDLE _In_opt_ ULONG _In_opt_ ULONG _In_opt_ ULONG _In_opt_ PLARGE_INTEGER _In_opt_ PUNICODE_STRING Description
 
_Must_inspect_result_ _In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass
 
_Must_inspect_result_ _In_ TRANSACTION_INFORMATION_CLASS _In_ ULONG TransactionInformationLength
 
_In_ BOOLEAN Wait
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_ HANDLE ResourceManagerHandle
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_ HANDLE _In_ HANDLE TransactionHandle
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_ HANDLE _In_ HANDLE _In_opt_ POBJECT_ATTRIBUTES _In_opt_ ULONG _In_ NOTIFICATION_MASK NotificationMask
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_ HANDLE _In_ HANDLE _In_opt_ POBJECT_ATTRIBUTES _In_opt_ ULONG _In_ NOTIFICATION_MASK _In_opt_ PVOID EnlistmentKey
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_ HANDLE _In_ LPGUID EnlistmentGuid
 
_Must_inspect_result_ _In_ ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass
 
_Must_inspect_result_ _In_ ENLISTMENT_INFORMATION_CLASS _In_ ULONG EnlistmentInformationLength
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_ HANDLE _In_ LPGUID RmGuid
 
_Must_inspect_result_ _In_ ACCESS_MASK _In_ HANDLE _In_opt_ LPGUID ResourceManagerGuid
 
_Must_inspect_result_ _Out_ PTRANSACTION_NOTIFICATION TransactionNotification
 
_Must_inspect_result_ _Out_ PTRANSACTION_NOTIFICATION _In_ ULONG NotificationLength
 
_Must_inspect_result_ _Out_ PTRANSACTION_NOTIFICATION _In_ ULONG _In_opt_ PLARGE_INTEGER _Out_opt_ PULONG _In_ ULONG Asynchronous
 
_Must_inspect_result_ _Out_ PTRANSACTION_NOTIFICATION _In_ ULONG _In_opt_ PLARGE_INTEGER _Out_opt_ PULONG _In_ ULONG _In_opt_ ULONG_PTR AsynchronousContext
 
_Must_inspect_result_ _In_ RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass
 
_Must_inspect_result_ _In_ RESOURCEMANAGER_INFORMATION_CLASS _In_ ULONG ResourceManagerInformationLength
 
_Must_inspect_result_ _In_ PCRM_PROTOCOL_ID ProtocolId
 
_Must_inspect_result_ _In_ PCRM_PROTOCOL_ID _In_ ULONG ProtocolInformationSize
 
_Must_inspect_result_ _In_ PCRM_PROTOCOL_ID _In_ ULONG _In_ PVOID ProtocolInformation
 
_In_ ULONG RequestCookie
 
_In_ ULONG _In_ ULONG BufferLength
 
_In_ ULONG _In_ ULONG _In_ PVOID Buffer
 
_In_ ULONG _In_ NTSTATUS PropStatus
 

Macro Definition Documentation

◆ ENLISTMENT_ALL_ACCESS

#define ENLISTMENT_ALL_ACCESS
Value:
#define STANDARD_RIGHTS_REQUIRED
Definition: nt_native.h:63
#define ENLISTMENT_GENERIC_EXECUTE
Definition: nttmapi.h:116
#define ENLISTMENT_GENERIC_READ
Definition: nttmapi.h:107
#define ENLISTMENT_GENERIC_WRITE
Definition: nttmapi.h:110

Definition at line 121 of file nttmapi.h.

◆ ENLISTMENT_GENERIC_EXECUTE

#define ENLISTMENT_GENERIC_EXECUTE
Value:
#define STANDARD_RIGHTS_EXECUTE
Definition: nt_native.h:67
#define ENLISTMENT_SUBORDINATE_RIGHTS
Definition: nttmapi.h:104
#define ENLISTMENT_RECOVER
Definition: nttmapi.h:103
#define ENLISTMENT_SUPERIOR_RIGHTS
Definition: nttmapi.h:105

Definition at line 116 of file nttmapi.h.

◆ ENLISTMENT_GENERIC_READ

#define ENLISTMENT_GENERIC_READ
Value:
#define STANDARD_RIGHTS_READ
Definition: nt_native.h:65
#define ENLISTMENT_QUERY_INFORMATION
Definition: nttmapi.h:101

Definition at line 107 of file nttmapi.h.

◆ ENLISTMENT_GENERIC_WRITE

#define ENLISTMENT_GENERIC_WRITE
Value:

Definition at line 110 of file nttmapi.h.

◆ ENLISTMENT_QUERY_INFORMATION

#define ENLISTMENT_QUERY_INFORMATION   (0x0001)

Definition at line 101 of file nttmapi.h.

◆ ENLISTMENT_RECOVER

#define ENLISTMENT_RECOVER   (0x0004)

Definition at line 103 of file nttmapi.h.

◆ ENLISTMENT_SET_INFORMATION

#define ENLISTMENT_SET_INFORMATION   (0x0002)

Definition at line 102 of file nttmapi.h.

◆ ENLISTMENT_SUBORDINATE_RIGHTS

#define ENLISTMENT_SUBORDINATE_RIGHTS   (0x0008)

Definition at line 104 of file nttmapi.h.

◆ ENLISTMENT_SUPERIOR_RIGHTS

#define ENLISTMENT_SUPERIOR_RIGHTS   (0x0010)

Definition at line 105 of file nttmapi.h.

◆ RESOURCEMANAGER_ALL_ACCESS

#define RESOURCEMANAGER_ALL_ACCESS
Value:
#define RESOURCEMANAGER_GENERIC_WRITE
Definition: nttmapi.h:80
#define RESOURCEMANAGER_GENERIC_READ
Definition: nttmapi.h:76
#define RESOURCEMANAGER_GENERIC_EXECUTE
Definition: nttmapi.h:89

Definition at line 96 of file nttmapi.h.

◆ RESOURCEMANAGER_COMPLETE_PROPAGATION

#define RESOURCEMANAGER_COMPLETE_PROPAGATION   (0x0040)

Definition at line 74 of file nttmapi.h.

◆ RESOURCEMANAGER_ENLIST

#define RESOURCEMANAGER_ENLIST   (0x0008)

Definition at line 71 of file nttmapi.h.

◆ RESOURCEMANAGER_GENERIC_EXECUTE

#define RESOURCEMANAGER_GENERIC_EXECUTE
Value:
#define SYNCHRONIZE
Definition: nt_native.h:61
#define RESOURCEMANAGER_RECOVER
Definition: nttmapi.h:70
#define RESOURCEMANAGER_GET_NOTIFICATION
Definition: nttmapi.h:72
#define RESOURCEMANAGER_ENLIST
Definition: nttmapi.h:71
#define RESOURCEMANAGER_COMPLETE_PROPAGATION
Definition: nttmapi.h:74

Definition at line 89 of file nttmapi.h.

◆ RESOURCEMANAGER_GENERIC_READ

#define RESOURCEMANAGER_GENERIC_READ
Value:

Definition at line 76 of file nttmapi.h.

◆ RESOURCEMANAGER_GENERIC_WRITE

◆ RESOURCEMANAGER_GET_NOTIFICATION

#define RESOURCEMANAGER_GET_NOTIFICATION   (0x0010)

Definition at line 72 of file nttmapi.h.

◆ RESOURCEMANAGER_QUERY_INFORMATION

#define RESOURCEMANAGER_QUERY_INFORMATION   (0x0001)

Definition at line 68 of file nttmapi.h.

◆ RESOURCEMANAGER_RECOVER

#define RESOURCEMANAGER_RECOVER   (0x0004)

Definition at line 70 of file nttmapi.h.

◆ RESOURCEMANAGER_REGISTER_PROTOCOL

#define RESOURCEMANAGER_REGISTER_PROTOCOL   (0x0020)

Definition at line 73 of file nttmapi.h.

◆ RESOURCEMANAGER_SET_INFORMATION

#define RESOURCEMANAGER_SET_INFORMATION   (0x0002)

Definition at line 69 of file nttmapi.h.

◆ TRANSACTION_ALL_ACCESS

#define TRANSACTION_ALL_ACCESS
Value:
#define TRANSACTION_GENERIC_WRITE
Definition: nttmapi.h:42
#define TRANSACTION_GENERIC_EXECUTE
Definition: nttmapi.h:50
#define TRANSACTION_GENERIC_READ
Definition: nttmapi.h:38

Definition at line 55 of file nttmapi.h.

◆ TRANSACTION_COMMIT

#define TRANSACTION_COMMIT   (0x0008)

Definition at line 33 of file nttmapi.h.

◆ TRANSACTION_ENLIST

#define TRANSACTION_ENLIST   (0x0004)

Definition at line 32 of file nttmapi.h.

◆ TRANSACTION_GENERIC_EXECUTE

#define TRANSACTION_GENERIC_EXECUTE
Value:
#define TRANSACTION_ROLLBACK
Definition: nttmapi.h:34
#define TRANSACTION_COMMIT
Definition: nttmapi.h:33

Definition at line 50 of file nttmapi.h.

◆ TRANSACTION_GENERIC_READ

#define TRANSACTION_GENERIC_READ
Value:

Definition at line 38 of file nttmapi.h.

◆ TRANSACTION_GENERIC_WRITE

#define TRANSACTION_GENERIC_WRITE
Value:

Definition at line 42 of file nttmapi.h.

◆ TRANSACTION_PROPAGATE

#define TRANSACTION_PROPAGATE   (0x0020)

Definition at line 35 of file nttmapi.h.

◆ TRANSACTION_QUERY_INFORMATION

#define TRANSACTION_QUERY_INFORMATION   (0x0001)

Definition at line 30 of file nttmapi.h.

◆ TRANSACTION_RESOURCE_MANAGER_RIGHTS

◆ TRANSACTION_RIGHT_RESERVED1

#define TRANSACTION_RIGHT_RESERVED1   (0x0040)

Definition at line 36 of file nttmapi.h.

◆ TRANSACTION_ROLLBACK

#define TRANSACTION_ROLLBACK   (0x0010)

Definition at line 34 of file nttmapi.h.

◆ TRANSACTION_SET_INFORMATION

#define TRANSACTION_SET_INFORMATION   (0x0002)

Definition at line 31 of file nttmapi.h.

◆ TRANSACTIONMANAGER_ALL_ACCESS

#define TRANSACTIONMANAGER_ALL_ACCESS
Value:
#define TRANSACTIONMANAGER_BIND_TRANSACTION
Definition: nttmapi.h:11
#define TRANSACTIONMANAGER_GENERIC_READ
Definition: nttmapi.h:13
#define TRANSACTIONMANAGER_GENERIC_EXECUTE
Definition: nttmapi.h:22
#define TRANSACTIONMANAGER_GENERIC_WRITE
Definition: nttmapi.h:16

Definition at line 24 of file nttmapi.h.

◆ TRANSACTIONMANAGER_BIND_TRANSACTION

#define TRANSACTIONMANAGER_BIND_TRANSACTION   (0x0020)

Definition at line 11 of file nttmapi.h.

◆ TRANSACTIONMANAGER_CREATE_RM

#define TRANSACTIONMANAGER_CREATE_RM   (0x0010)

Definition at line 10 of file nttmapi.h.

◆ TRANSACTIONMANAGER_GENERIC_EXECUTE

#define TRANSACTIONMANAGER_GENERIC_EXECUTE   (STANDARD_RIGHTS_EXECUTE)

Definition at line 22 of file nttmapi.h.

◆ TRANSACTIONMANAGER_GENERIC_READ

#define TRANSACTIONMANAGER_GENERIC_READ
Value:

Definition at line 13 of file nttmapi.h.

◆ TRANSACTIONMANAGER_GENERIC_WRITE

#define TRANSACTIONMANAGER_GENERIC_WRITE
Value:
#define TRANSACTIONMANAGER_RENAME
Definition: nttmapi.h:9
#define TRANSACTIONMANAGER_SET_INFORMATION
Definition: nttmapi.h:7
#define TRANSACTIONMANAGER_RECOVER
Definition: nttmapi.h:8
#define TRANSACTIONMANAGER_CREATE_RM
Definition: nttmapi.h:10

Definition at line 16 of file nttmapi.h.

◆ TRANSACTIONMANAGER_QUERY_INFORMATION

#define TRANSACTIONMANAGER_QUERY_INFORMATION   (0x0001)

Definition at line 6 of file nttmapi.h.

◆ TRANSACTIONMANAGER_RECOVER

#define TRANSACTIONMANAGER_RECOVER   (0x0004)

Definition at line 8 of file nttmapi.h.

◆ TRANSACTIONMANAGER_RENAME

#define TRANSACTIONMANAGER_RENAME   (0x0008)

Definition at line 9 of file nttmapi.h.

◆ TRANSACTIONMANAGER_SET_INFORMATION

#define TRANSACTIONMANAGER_SET_INFORMATION   (0x0002)

Definition at line 7 of file nttmapi.h.

Typedef Documentation

◆ ENLISTMENT_BASIC_INFORMATION

◆ ENLISTMENT_CRM_INFORMATION

◆ ENLISTMENT_INFORMATION_CLASS

◆ KTMOBJECT_CURSOR

◆ KTMOBJECT_TYPE

◆ PENLISTMENT_BASIC_INFORMATION

◆ PENLISTMENT_CRM_INFORMATION

◆ PFN_NT_COMMIT_TRANSACTION

typedef NTSTATUS(NTAPI * PFN_NT_COMMIT_TRANSACTION) (_In_ HANDLE TransactionHandle, _In_ BOOLEAN Wait)

Definition at line 302 of file nttmapi.h.

◆ PFN_NT_CREATE_TRANSACTION

◆ PFN_NT_OPEN_TRANSACTION

◆ PFN_NT_QUERY_INFORMATION_TRANSACTION

◆ PFN_NT_ROLLBACK_TRANSACTION

typedef NTSTATUS(NTAPI * PFN_NT_ROLLBACK_TRANSACTION) (_In_ HANDLE TransactionHandle, _In_ BOOLEAN Wait)

Definition at line 307 of file nttmapi.h.

◆ PFN_NT_SET_INFORMATION_TRANSACTION

◆ PKTMOBJECT_CURSOR

◆ PKTMOBJECT_TYPE

◆ PRESOURCEMANAGER_BASIC_INFORMATION

◆ PRESOURCEMANAGER_COMPLETION_INFORMATION

◆ PTRANSACTION_BASIC_INFORMATION

◆ PTRANSACTION_BIND_INFORMATION

◆ PTRANSACTION_ENLISTMENT_PAIR

◆ PTRANSACTION_ENLISTMENTS_INFORMATION

◆ PTRANSACTION_LIST_ENTRY

◆ PTRANSACTION_LIST_INFORMATION

◆ PTRANSACTION_PROPERTIES_INFORMATION

◆ PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION

◆ PTRANSACTIONMANAGER_BASIC_INFORMATION

◆ PTRANSACTIONMANAGER_LOG_INFORMATION

◆ PTRANSACTIONMANAGER_LOGPATH_INFORMATION

◆ PTRANSACTIONMANAGER_RECOVERY_INFORMATION

◆ RESOURCEMANAGER_BASIC_INFORMATION

◆ RESOURCEMANAGER_COMPLETION_INFORMATION

◆ RESOURCEMANAGER_INFORMATION_CLASS

◆ TRANSACTION_BASIC_INFORMATION

◆ TRANSACTION_BIND_INFORMATION

◆ TRANSACTION_ENLISTMENT_PAIR

◆ TRANSACTION_ENLISTMENTS_INFORMATION

◆ TRANSACTION_INFORMATION_CLASS

◆ TRANSACTION_LIST_ENTRY

◆ TRANSACTION_LIST_INFORMATION

◆ TRANSACTION_OUTCOME

◆ TRANSACTION_PROPERTIES_INFORMATION

◆ TRANSACTION_STATE

◆ TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION

◆ TRANSACTIONMANAGER_BASIC_INFORMATION

◆ TRANSACTIONMANAGER_INFORMATION_CLASS

◆ TRANSACTIONMANAGER_LOG_INFORMATION

◆ TRANSACTIONMANAGER_LOGPATH_INFORMATION

◆ TRANSACTIONMANAGER_RECOVERY_INFORMATION

Enumeration Type Documentation

◆ _ENLISTMENT_INFORMATION_CLASS

Enumerator
EnlistmentBasicInformation 
EnlistmentRecoveryInformation 
EnlistmentCrmInformation 

Definition at line 247 of file nttmapi.h.

247 {
@ EnlistmentRecoveryInformation
Definition: nttmapi.h:249
@ EnlistmentBasicInformation
Definition: nttmapi.h:248
@ EnlistmentCrmInformation
Definition: nttmapi.h:250
enum _ENLISTMENT_INFORMATION_CLASS ENLISTMENT_INFORMATION_CLASS

◆ _KTMOBJECT_TYPE

Enumerator
KTMOBJECT_TRANSACTION 
KTMOBJECT_TRANSACTION_MANAGER 
KTMOBJECT_RESOURCE_MANAGER 
KTMOBJECT_ENLISTMENT 
KTMOBJECT_INVALID 

Definition at line 202 of file nttmapi.h.

202 {
@ KTMOBJECT_RESOURCE_MANAGER
Definition: nttmapi.h:205
@ KTMOBJECT_ENLISTMENT
Definition: nttmapi.h:206
@ KTMOBJECT_INVALID
Definition: nttmapi.h:207
@ KTMOBJECT_TRANSACTION
Definition: nttmapi.h:203
@ KTMOBJECT_TRANSACTION_MANAGER
Definition: nttmapi.h:204
enum _KTMOBJECT_TYPE KTMOBJECT_TYPE
enum _KTMOBJECT_TYPE * PKTMOBJECT_TYPE

◆ _RESOURCEMANAGER_INFORMATION_CLASS

Enumerator
ResourceManagerBasicInformation 
ResourceManagerCompletionInformation 

Definition at line 230 of file nttmapi.h.

230 {
enum _RESOURCEMANAGER_INFORMATION_CLASS RESOURCEMANAGER_INFORMATION_CLASS
@ ResourceManagerBasicInformation
Definition: nttmapi.h:231
@ ResourceManagerCompletionInformation
Definition: nttmapi.h:232

◆ _TRANSACTION_INFORMATION_CLASS

Enumerator
TransactionBasicInformation 
TransactionPropertiesInformation 
TransactionEnlistmentInformation 
TransactionSuperiorEnlistmentInformation 

Definition at line 216 of file nttmapi.h.

216 {
@ TransactionEnlistmentInformation
Definition: nttmapi.h:219
@ TransactionBasicInformation
Definition: nttmapi.h:217
@ TransactionPropertiesInformation
Definition: nttmapi.h:218
@ TransactionSuperiorEnlistmentInformation
Definition: nttmapi.h:220
enum _TRANSACTION_INFORMATION_CLASS TRANSACTION_INFORMATION_CLASS

◆ _TRANSACTION_OUTCOME

Enumerator
TransactionOutcomeUndetermined 
TransactionOutcomeCommitted 
TransactionOutcomeAborted 

Definition at line 126 of file nttmapi.h.

126 {
@ TransactionOutcomeCommitted
Definition: nttmapi.h:128
@ TransactionOutcomeAborted
Definition: nttmapi.h:129
@ TransactionOutcomeUndetermined
Definition: nttmapi.h:127
enum _TRANSACTION_OUTCOME TRANSACTION_OUTCOME

◆ _TRANSACTION_STATE

Enumerator
TransactionStateNormal 
TransactionStateIndoubt 
TransactionStateCommittedNotify 

Definition at line 133 of file nttmapi.h.

133 {
@ TransactionStateCommittedNotify
Definition: nttmapi.h:136
@ TransactionStateNormal
Definition: nttmapi.h:134
@ TransactionStateIndoubt
Definition: nttmapi.h:135
enum _TRANSACTION_STATE TRANSACTION_STATE

◆ _TRANSACTIONMANAGER_INFORMATION_CLASS

Enumerator
TransactionManagerBasicInformation 
TransactionManagerLogInformation 
TransactionManagerLogPathInformation 
TransactionManagerRecoveryInformation 

Definition at line 223 of file nttmapi.h.

223 {
enum _TRANSACTIONMANAGER_INFORMATION_CLASS TRANSACTIONMANAGER_INFORMATION_CLASS
@ TransactionManagerRecoveryInformation
Definition: nttmapi.h:227
@ TransactionManagerLogPathInformation
Definition: nttmapi.h:226
@ TransactionManagerLogInformation
Definition: nttmapi.h:225
@ TransactionManagerBasicInformation
Definition: nttmapi.h:224

Function Documentation

◆ _In_reads_bytes_() [1/4]

◆ _In_reads_bytes_() [2/4]

◆ _In_reads_bytes_() [3/4]

◆ _In_reads_bytes_() [4/4]

◆ _Inout_updates_bytes_()

◆ _IRQL_requires_max_()

_Must_inspect_result_ _IRQL_requires_max_ ( APC_LEVEL  )

Probes and locks virtual pages in memory for the specified process.

Parameters
[in,out]MemoryDescriptorListMemory Descriptor List (MDL) containing the buffer to be probed and locked.
[in]ProcessThe process for which the buffer should be probed and locked.
[in]AccessModeAccess mode for probing the pages. Can be KernelMode or UserMode.
[in]LockOperationThe type of the probing and locking operation. Can be IoReadAccess, IoWriteAccess or IoModifyAccess.
Returns
Nothing.
See also
MmProbeAndLockPages
Remarks
Must be called at IRQL <= APC_LEVEL

Probes and locks virtual pages in memory for the specified process.

Frees previously reserved amount of memory in system virtual address space.

Parameters
[in]NumberOfBytesSize, in bytes, of memory to reserve.
[in]PoolTagPool Tag identifying the buffer. Usually consists from 4 characters in reversed order.
Returns
A pointer to the 1st memory block of the reserved buffer in case of success, NULL otherwise.
Remarks
Must be called at IRQL <= APC_LEVEL
Parameters
[in]BaseAddressA pointer to the 1st memory block of the reserved buffer.
[in]PoolTagPool Tag identifying the buffer. Usually consists from 4 characters in reversed order.
Returns
Nothing.
See also
MmAllocateMappingAddress
Remarks
Must be called at IRQL <= APC_LEVEL

Definition at line 37 of file cddata.c.

254{
255 THREAD_CONTEXT ThreadContext = {0};
256 PIRP_CONTEXT IrpContext = NULL;
258
259#ifdef CD_SANITY
260 PVOID PreviousTopLevel;
261#endif
262
264
265#if DBG
266
267 KIRQL SaveIrql = KeGetCurrentIrql();
268
269#endif
270
272
274
276
277#ifdef CD_SANITY
278 PreviousTopLevel = IoGetTopLevelIrp();
279#endif
280
281 //
282 // Loop until this request has been completed or posted.
283 //
284
285 do {
286
287 //
288 // Use a try-except to handle the exception cases.
289 //
290
291 _SEH2_TRY {
292
293 //
294 // If the IrpContext is NULL then this is the first pass through
295 // this loop.
296 //
297
298 if (IrpContext == NULL) {
299
300 //
301 // Decide if this request is waitable an allocate the IrpContext.
302 // If the file object in the stack location is NULL then this
303 // is a mount which is always waitable. Otherwise we look at
304 // the file object flags.
305 //
306
308
309 Wait = TRUE;
310
311 } else {
312
313 Wait = CanFsdWait( Irp );
314 }
315
316 IrpContext = CdCreateIrpContext( Irp, Wait );
317
318 //
319 // Update the thread context information.
320 //
321
322 CdSetThreadContext( IrpContext, &ThreadContext );
323
324#ifdef CD_SANITY
325 NT_ASSERT( !CdTestTopLevel ||
326 SafeNodeType( IrpContext->TopLevel ) == CDFS_NTC_IRP_CONTEXT );
327#endif
328
329 //
330 // Otherwise cleanup the IrpContext for the retry.
331 //
332
333 } else {
334
335 //
336 // Set the MORE_PROCESSING flag to make sure the IrpContext
337 // isn't inadvertently deleted here. Then cleanup the
338 // IrpContext to perform the retry.
339 //
340
341 SetFlag( IrpContext->Flags, IRP_CONTEXT_FLAG_MORE_PROCESSING );
342 CdCleanupIrpContext( IrpContext, FALSE );
343 }
344
345 //
346 // Case on the major irp code.
347 //
348
349 switch (IrpContext->MajorFunction) {
350
351 case IRP_MJ_CREATE :
352
353 Status = CdCommonCreate( IrpContext, Irp );
354 break;
355
356 case IRP_MJ_CLOSE :
357
358 Status = CdCommonClose( IrpContext, Irp );
359 break;
360
361 case IRP_MJ_READ :
362
363 //
364 // If this is an Mdl complete request, don't go through
365 // common read.
366 //
367
368 if (FlagOn( IrpContext->MinorFunction, IRP_MN_COMPLETE )) {
369
370 Status = CdCompleteMdl( IrpContext, Irp );
371
372 } else {
373
374 Status = CdCommonRead( IrpContext, Irp );
375 }
376
377 break;
378
379 case IRP_MJ_WRITE :
380
381 Status = CdCommonWrite( IrpContext, Irp );
382 break;
383
385
386 Status = CdCommonQueryInfo( IrpContext, Irp );
387 break;
388
390
391 Status = CdCommonSetInfo( IrpContext, Irp );
392 break;
393
395
396 Status = CdCommonQueryVolInfo( IrpContext, Irp );
397 break;
398
400
401 Status = CdCommonDirControl( IrpContext, Irp );
402 break;
403
405
406 Status = CdCommonFsControl( IrpContext, Irp );
407 break;
408
410
411 Status = CdCommonDevControl( IrpContext, Irp );
412 break;
413
415
416 Status = CdCommonLockControl( IrpContext, Irp );
417 break;
418
419 case IRP_MJ_CLEANUP :
420
421 Status = CdCommonCleanup( IrpContext, Irp );
422 break;
423
424 case IRP_MJ_PNP :
425
426 Status = CdCommonPnp( IrpContext, Irp );
427 break;
428
429 case IRP_MJ_SHUTDOWN :
430
431 Status = CdCommonShutdown( IrpContext, Irp );
432 break;
433
434 default :
435
437 CdCompleteRequest( IrpContext, Irp, Status );
438 }
439
441
442 Status = CdProcessException( IrpContext, Irp, _SEH2_GetExceptionCode() );
443 } _SEH2_END;
444
445 } while (Status == STATUS_CANT_WAIT);
446
447#ifdef CD_SANITY
448 NT_ASSERT( !CdTestTopLevel ||
449 (PreviousTopLevel == IoGetTopLevelIrp()) );
450#endif
451
453
454 NT_ASSERT( SaveIrql == KeGetCurrentIrql( ));
455
456 return Status;
457}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
Definition: cddata.c:914
LONG CdExceptionFilter(_Inout_ PIRP_CONTEXT IrpContext, _In_ PEXCEPTION_POINTERS ExceptionPointer)
Definition: cddata.c:525
VOID CdSetThreadContext(_Inout_ PIRP_CONTEXT IrpContext, _In_ PTHREAD_CONTEXT ThreadContext)
Definition: cddata.c:981
#define ASSERT_OPTIONAL_IRP(I)
Definition: cddata.h:251
NTSTATUS CdCompleteMdl(_In_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: cachesup.c:411
VOID CdCleanupIrpContext(_In_ PIRP_CONTEXT IrpContext, _In_ BOOLEAN Post)
Definition: strucsup.c:1733
#define CanFsdWait(I)
Definition: cdprocs.h:2001
NTSTATUS CdCommonLockControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: lockctrl.c:35
NTSTATUS CdCommonDevControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: devctrl.c:46
_Ret_valid_ PIRP_CONTEXT CdCreateIrpContext(_In_ PIRP Irp, _In_ BOOLEAN Wait)
Definition: strucsup.c:1573
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
#define IRP_CONTEXT_FLAG_MORE_PROCESSING
Definition: cdstruc.h:1214
_In_ PIRP Irp
Definition: csq.h:116
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define CDFS_NTC_IRP_CONTEXT
Definition: nodetype.h:34
#define SafeNodeType(Ptr)
Definition: nodetype.h:54
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define KeGetCurrentIrql()
Definition: env_spec_w32.h:706
#define SetFlag(_F, _SF)
Definition: ext2fs.h:187
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
Status
Definition: gdiplustypes.h:25
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:325
PIRP NTAPI IoGetTopLevelIrp(VOID)
Definition: irp.c:1843
#define STATUS_CANT_WAIT
Definition: ntstatus.h:452
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:165
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:66
#define _SEH2_GetExceptionInformation()
Definition: pseh2_64.h:164
#define _SEH2_END
Definition: pseh2_64.h:155
#define _SEH2_TRY
Definition: pseh2_64.h:55
#define IRP_MJ_DIRECTORY_CONTROL
Definition: rdpdr.c:51
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
#define IRP_MJ_READ
Definition: rdpdr.c:46
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define IRP_MJ_QUERY_VOLUME_INFORMATION
Definition: rdpdr.c:50
#define IRP_MJ_LOCK_CONTROL
Definition: rdpdr.c:53
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define IRP_MJ_SET_INFORMATION
Definition: rdpdr.c:49
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define IRP_MJ_QUERY_INFORMATION
Definition: rdpdr.c:48
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:170
#define IRP_MN_COMPLETE
Definition: iotypes.h:4420
#define IRP_MJ_FILE_SYSTEM_CONTROL
#define IRP_MJ_SHUTDOWN
#define IRP_MJ_CLEANUP
#define NT_ASSERT
Definition: rtlfuncs.h:3327

◆ _Out_writes_bytes_() [1/4]

◆ _Out_writes_bytes_() [2/4]

◆ _Out_writes_bytes_() [3/4]

◆ _Out_writes_bytes_() [4/4]

Variable Documentation

◆ Asynchronous

◆ AsynchronousContext

◆ Buffer

Definition at line 739 of file nttmapi.h.

◆ BufferLength

Definition at line 738 of file nttmapi.h.

◆ CommitStrength

◆ CreateOptions

◆ Description

◆ DesiredAccess

◆ EnlistmentGuid

Definition at line 509 of file nttmapi.h.

◆ EnlistmentInformationClass

_In_ ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass

Definition at line 520 of file nttmapi.h.

◆ EnlistmentInformationLength

_In_ ENLISTMENT_INFORMATION_CLASS _In_ ULONG EnlistmentInformationLength

Definition at line 522 of file nttmapi.h.

◆ EnlistmentKey

_In_opt_ PVOID EnlistmentKey

Definition at line 497 of file nttmapi.h.

◆ ExistingTransactionManagerGuid

_Must_inspect_result_ _In_ LPGUID ExistingTransactionManagerGuid

Definition at line 350 of file nttmapi.h.

◆ IsolationFlags

◆ IsolationLevel

◆ LogFileName

◆ NotificationLength

Definition at line 686 of file nttmapi.h.

◆ NotificationMask

◆ ObjectAttributes

◆ ObjectCursorLength

Definition at line 406 of file nttmapi.h.

◆ OpenOptions

◆ PropStatus

_In_ ULONG _In_ NTSTATUS PropStatus

Definition at line 749 of file nttmapi.h.

◆ ProtocolId

Definition at line 725 of file nttmapi.h.

◆ ProtocolInformation

Definition at line 727 of file nttmapi.h.

◆ ProtocolInformationSize

Definition at line 726 of file nttmapi.h.

◆ QueryType

◆ RequestCookie

_In_ ULONG RequestCookie

Definition at line 737 of file nttmapi.h.

◆ ResourceManagerGuid

_In_ ACCESS_MASK _In_ HANDLE _In_ LPGUID ResourceManagerGuid

Definition at line 665 of file nttmapi.h.

◆ ResourceManagerHandle

Definition at line 492 of file nttmapi.h.

◆ ResourceManagerInformationClass

_In_ RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass

Definition at line 700 of file nttmapi.h.

◆ ResourceManagerInformationLength

_In_ RESOURCEMANAGER_INFORMATION_CLASS _In_ ULONG ResourceManagerInformationLength

Definition at line 702 of file nttmapi.h.

◆ ReturnLength

◆ RmGuid

◆ Timeout

◆ TmHandle

Definition at line 420 of file nttmapi.h.

◆ TmIdentity

◆ TmVirtualClock

_In_opt_ PLARGE_INTEGER TmVirtualClock

Definition at line 360 of file nttmapi.h.

◆ TransactionHandle

Definition at line 493 of file nttmapi.h.

◆ TransactionInformationClass

_In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass

Definition at line 448 of file nttmapi.h.

◆ TransactionInformationLength

_In_ TRANSACTION_INFORMATION_CLASS _In_ PVOID _In_ ULONG TransactionInformationLength

Definition at line 450 of file nttmapi.h.

◆ TransactionManagerInformationClass

_In_ TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass

Definition at line 379 of file nttmapi.h.

◆ TransactionManagerInformationLength

_In_ TRANSACTIONMANAGER_INFORMATION_CLASS _In_ PVOID _In_ ULONG TransactionManagerInformationLength

Definition at line 381 of file nttmapi.h.

◆ TransactionNotification

Definition at line 685 of file nttmapi.h.

◆ Uow

◆ Wait

Definition at line 472 of file nttmapi.h.