ReactOS  0.4.14-dev-608-gd495a4f
gmutex.c File Reference
#include <ntoskrnl.h>
#include <debug.h>
Include dependency graph for gmutex.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

VOID FASTCALL KeInitializeGuardedMutex (OUT PKGUARDED_MUTEX GuardedMutex)
 
VOID FASTCALL KeAcquireGuardedMutex (IN PKGUARDED_MUTEX GuardedMutex)
 
VOID FASTCALL KeReleaseGuardedMutex (IN OUT PKGUARDED_MUTEX GuardedMutex)
 
VOID FASTCALL KeAcquireGuardedMutexUnsafe (IN OUT PKGUARDED_MUTEX GuardedMutex)
 
VOID FASTCALL KeReleaseGuardedMutexUnsafe (IN OUT PKGUARDED_MUTEX GuardedMutex)
 
BOOLEAN FASTCALL KeTryToAcquireGuardedMutex (IN OUT PKGUARDED_MUTEX GuardedMutex)
 
KeEnterGuardedRegion

Enters a guarded region. This causes all (incl. special kernel) APCs to be disabled.

VOID NTAPI _KeEnterGuardedRegion (VOID)
 
KeLeaveGuardedRegion

Leaves a guarded region and delivers pending APCs if possible.

VOID NTAPI _KeLeaveGuardedRegion (VOID)
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 13 of file gmutex.c.

Function Documentation

◆ _KeEnterGuardedRegion()

VOID NTAPI _KeEnterGuardedRegion ( VOID  )

Definition at line 100 of file gmutex.c.

101 {
102  /* Use the inlined version */
104 }
#define KeEnterGuardedRegion()
Definition: ke_x.h:34

◆ _KeLeaveGuardedRegion()

VOID NTAPI _KeLeaveGuardedRegion ( VOID  )

Definition at line 113 of file gmutex.c.

114 {
115  /* Use the inlined version */
117 }
#define KeLeaveGuardedRegion()
Definition: ke_x.h:63

◆ KeAcquireGuardedMutex()

VOID FASTCALL KeAcquireGuardedMutex ( IN PKGUARDED_MUTEX  GuardedMutex)

Definition at line 42 of file gmutex.c.

43 {
44  /* Call the inline */
45  _KeAcquireGuardedMutex(GuardedMutex);
46 }
FORCEINLINE VOID _KeAcquireGuardedMutex(IN PKGUARDED_MUTEX GuardedMutex)
Definition: ke_x.h:1573

Referenced by _Function_class_(), CmFlushKey(), CmpAddToDelayedClose(), CmpAllocateDelayItem(), CmpAllocateKeyControlBlock(), CmpDelayDerefKeyControlBlock(), CmpFreeDelayItem(), CmpFreeKeyControlBlock(), CmpRemoveFromDelayedClose(), CreateUsbChildDeviceObject(), DestroyUsbChildDeviceObject(), EnumerateDevices(), ExLockPool(), FsRtlAddLargeMcbEntry(), FsRtlGetNextLargeMcbEntry(), FsRtlLookupLargeMcbEntry(), FsRtlLookupLastLargeMcbEntry(), FsRtlLookupLastLargeMcbEntryAndIndex(), FsRtlNumberOfRunsInLargeMcb(), FsRtlRemoveLargeMcbEntry(), FsRtlResetLargeMcb(), FsRtlSplitLargeMcb(), FsRtlTruncateLargeMcb(), IopNotifyPlugPlayNotification(), IoRegisterPlugPlayNotification(), IoUnregisterPlugPlayNotification(), IsValidPDO(), LpcExitThread(), LpcpAllocateFromPortZone(), LpcpCopyRequestData(), LpcpDeletePort(), LpcpDestroyPortQueue(), LpcpFreeConMsg(), LpcpFreeToPortZone(), LpcpSaveDataInfoMessage(), LpcRequestPort(), LpcRequestWaitReplyPort(), MiAllocatePoolPages(), MiDeleteARM3Section(), MiFreePoolPages(), MiInitializePoolEvents(), MiInsertInSystemSpace(), MiInsertVadEx(), MiMapViewOfDataSection(), MiReleaseProcessReferenceToSessionDataPage(), MiSessionCreateInternal(), MiUnmapViewInSystemSpace(), MmAllocSwapPage(), MmCommitSessionMappedView(), MmCreateArm3Section(), MmDeleteTeb(), MmFreeSwapPage(), MmLockAddressSpace(), NtAcceptConnectPort(), NtCompleteConnectPort(), NtCreatePagingFile(), NtImpersonateClientOfPort(), NtReplyPort(), NtReplyWaitReceivePortEx(), NtRequestPort(), NtRequestWaitReplyPort(), NtSecureConnectPort(), ObDereferenceDeviceMap(), ObfDereferenceDeviceMap(), ObInheritDeviceMap(), ObpGetShadowDirectory(), ObpProcessDosDeviceSymbolicLink(), ObpReferenceDeviceMap(), ObpSetCurrentProcessDeviceMap(), ObQueryDeviceMapInformation(), ObSetDeviceMap(), ObSetDirectoryDeviceMap(), PnpRootCreateDevice(), PnpRootPdoPnpControl(), PnpRootQueryDeviceRelations(), PnpRootRegisterDevice(), PopFlushVolumes(), PopFlushVolumeWorker(), PopProcessShutDownLists(), PoQueueShutdownWorkItem(), PoRemoveVolumeDevice(), PoRequestShutdownWait(), PoVolumeDevice(), PsGetNextProcess(), PspCreateProcess(), PspDeleteProcess(), SeGetLogonIdDeviceMap(), SepRmCreateLogonSession(), SepRmDereferenceLogonSession(), SepRmReferenceLogonSession(), SeRegisterLogonSessionTerminatedRoutine(), SeUnregisterLogonSessionTerminatedRoutine(), USBHUB_FdoHandleDeviceControl(), USBHUB_FdoHandlePnp(), and USBHUB_FdoQueryBusRelations().

◆ KeAcquireGuardedMutexUnsafe()

VOID FASTCALL KeAcquireGuardedMutexUnsafe ( IN OUT PKGUARDED_MUTEX  GuardedMutex)

Definition at line 64 of file gmutex.c.

65 {
66  /* Call the inline */
67  _KeAcquireGuardedMutexUnsafe(GuardedMutex);
68 }
FORCEINLINE VOID _KeAcquireGuardedMutexUnsafe(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: ke_x.h:1508

Referenced by MmCommitSessionMappedView(), NtAllocateVirtualMemory(), and NtQueryInformationJobObject().

◆ KeInitializeGuardedMutex()

◆ KeReleaseGuardedMutex()

VOID FASTCALL KeReleaseGuardedMutex ( IN OUT PKGUARDED_MUTEX  GuardedMutex)

Definition at line 53 of file gmutex.c.

54 {
55  /* Call the inline */
56  _KeReleaseGuardedMutex(GuardedMutex);
57 }
FORCEINLINE VOID _KeReleaseGuardedMutex(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: ke_x.h:1598

Referenced by _Function_class_(), CmFlushKey(), CmpAddToDelayedClose(), CmpAllocateDelayItem(), CmpAllocateKeyControlBlock(), CmpDelayDerefKeyControlBlock(), CmpFreeDelayItem(), CmpFreeKeyControlBlock(), CmpRemoveFromDelayedClose(), CreateUsbChildDeviceObject(), DestroyUsbChildDeviceObject(), EnumerateDevices(), ExUnlockPool(), FsRtlAddLargeMcbEntry(), FsRtlGetNextLargeMcbEntry(), FsRtlLookupLargeMcbEntry(), FsRtlLookupLastLargeMcbEntry(), FsRtlLookupLastLargeMcbEntryAndIndex(), FsRtlNumberOfRunsInLargeMcb(), FsRtlRemoveLargeMcbEntry(), FsRtlResetLargeMcb(), FsRtlSplitLargeMcb(), FsRtlTruncateLargeMcb(), IopNotifyPlugPlayNotification(), IoRegisterPlugPlayNotification(), IoUnregisterPlugPlayNotification(), IsValidPDO(), LpcExitThread(), LpcpAllocateFromPortZone(), LpcpCopyRequestData(), LpcpDeletePort(), LpcpDestroyPortQueue(), LpcpFreeConMsg(), LpcpFreeToPortZone(), LpcpSaveDataInfoMessage(), LpcRequestPort(), LpcRequestWaitReplyPort(), MiAllocatePoolPages(), MiDeleteARM3Section(), MiFreePoolPages(), MiInitializePoolEvents(), MiInsertInSystemSpace(), MiInsertVadEx(), MiMapViewOfDataSection(), MiReleaseProcessReferenceToSessionDataPage(), MiSessionCreateInternal(), MiUnmapViewInSystemSpace(), MmAllocSwapPage(), MmCommitSessionMappedView(), MmCreateArm3Section(), MmDeleteTeb(), MmFreeSwapPage(), MmUnlockAddressSpace(), NtAcceptConnectPort(), NtCompleteConnectPort(), NtCreatePagingFile(), NtImpersonateClientOfPort(), NtReplyPort(), NtReplyWaitReceivePortEx(), NtRequestPort(), NtRequestWaitReplyPort(), NtSecureConnectPort(), ObDereferenceDeviceMap(), ObfDereferenceDeviceMap(), ObInheritDeviceMap(), ObpGetShadowDirectory(), ObpProcessDosDeviceSymbolicLink(), ObpReferenceDeviceMap(), ObpSetCurrentProcessDeviceMap(), ObQueryDeviceMapInformation(), ObSetDeviceMap(), ObSetDirectoryDeviceMap(), PnpRootCreateDevice(), PnpRootPdoPnpControl(), PnpRootQueryDeviceRelations(), PnpRootRegisterDevice(), PopFlushVolumes(), PopFlushVolumeWorker(), PopProcessShutDownLists(), PoQueueShutdownWorkItem(), PoRemoveVolumeDevice(), PoRequestShutdownWait(), PoVolumeDevice(), PsGetNextProcess(), PspCreateProcess(), PspDeleteProcess(), SeGetLogonIdDeviceMap(), SepRmCreateLogonSession(), SepRmDereferenceLogonSession(), SepRmReferenceLogonSession(), SeRegisterLogonSessionTerminatedRoutine(), SeUnregisterLogonSessionTerminatedRoutine(), USBHUB_FdoHandleDeviceControl(), USBHUB_FdoHandlePnp(), and USBHUB_FdoQueryBusRelations().

◆ KeReleaseGuardedMutexUnsafe()

VOID FASTCALL KeReleaseGuardedMutexUnsafe ( IN OUT PKGUARDED_MUTEX  GuardedMutex)

Definition at line 75 of file gmutex.c.

76 {
77  /* Call the inline */
78  _KeReleaseGuardedMutexUnsafe(GuardedMutex);
79 }
FORCEINLINE VOID _KeReleaseGuardedMutexUnsafe(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: ke_x.h:1532

Referenced by MmCommitSessionMappedView(), NtAllocateVirtualMemory(), and NtQueryInformationJobObject().

◆ KeTryToAcquireGuardedMutex()

BOOLEAN FASTCALL KeTryToAcquireGuardedMutex ( IN OUT PKGUARDED_MUTEX  GuardedMutex)

Definition at line 86 of file gmutex.c.

87 {
88  /* Call the inline */
89  return _KeTryToAcquireGuardedMutex(GuardedMutex);
90 }
FORCEINLINE BOOLEAN _KeTryToAcquireGuardedMutex(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: ke_x.h:1641

Referenced by _MmTryToLockAddressSpace().