ReactOS  0.4.13-dev-443-g10f00f8
cm_x.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define GET_HASH_KEY(ConvKey)   ((CMP_HASH_IRRATIONAL * (ConvKey)) % CMP_HASH_PRIME)
 
#define GET_HASH_INDEX(ConvKey)   GET_HASH_KEY(ConvKey) % CmpHashTableSize
 
#define GET_HASH_ENTRY(Table, ConvKey)   (&Table[GET_HASH_INDEX(ConvKey)])
 
#define ASSERT_VALID_HASH(h)   ASSERT_KCB_VALID(CONTAINING_RECORD((h), CM_KEY_CONTROL_BLOCK, KeyHash))
 
#define CMP_IS_CELL_CACHED(c)   (((c) & HCELL_CACHED) && ((c) != HCELL_NIL))
 
#define CMP_GET_CACHED_CELL(c)   (ULONG_PTR)((c) & ~HCELL_CACHED)
 
#define CMP_GET_CACHED_DATA(c)   (&(((PCM_CACHED_VALUE_INDEX)(CMP_GET_CACHED_CELL(c)))->Data.CellData))
 
#define CMP_GET_CACHED_INDEX(c)   (&(((PCM_CACHED_ENTRY)(CMP_GET_CACHED_CELL(c)))->CellIndex))
 
#define CMP_GET_CACHED_VALUE(c)   (&(((PCM_CACHED_VALUE)(CMP_GET_CACHED_CELL(c)))->KeyValue))
 
#define CMP_ASSERT_REGISTRY_LOCK()
 
#define CMP_ASSERT_REGISTRY_LOCK_OR_LOADING(h)
 
#define CMP_ASSERT_EXCLUSIVE_REGISTRY_LOCK()
 
#define CMP_ASSERT_EXCLUSIVE_REGISTRY_LOCK_OR_LOADING(h)
 
#define ASSERT_KCB_VALID(k)   ASSERT((k)->Signature == CM_KCB_SIGNATURE)
 
#define CmpIsKcbLockedExclusive(k)
 
#define CmpAcquireKcbLockShared(k)
 
#define CmpAcquireKcbLockSharedByIndex(i)
 
#define CmpAcquireNcbLockExclusive(n)
 
#define CmpAcquireNcbLockExclusiveByKey(k)
 
#define CmpReleaseNcbLock(k)
 
#define CmpReleaseNcbLockByKey(k)
 
#define CMP_ASSERT_HASH_ENTRY_LOCK(k)
 
#define CMP_ASSERT_KCB_LOCK(k)
 
#define CmpGetAllocPageFromKcb(k)   (PCM_ALLOC_PAGE)(((ULONG_PTR)(k)) & ~(PAGE_SIZE - 1))
 
#define CmpGetAllocPageFromDelayAlloc(a)   (PCM_ALLOC_PAGE)(((ULONG_PTR)(a)) & ~(PAGE_SIZE - 1))
 
#define CMP_ASSERT_FLUSH_LOCK(h)
 

Functions

FORCEINLINE VOID CmpAcquireKcbLockExclusiveByIndex (ULONG Index)
 
FORCEINLINE VOID CmpAcquireKcbLockExclusive (PCM_KEY_CONTROL_BLOCK Kcb)
 
FORCEINLINE VOID CmpAcquireKcbLockExclusiveByKey (IN ULONG ConvKey)
 
FORCEINLINE BOOLEAN CmpTryToConvertKcbSharedToExclusive (IN PCM_KEY_CONTROL_BLOCK k)
 
FORCEINLINE VOID CmpReleaseKcbLockByIndex (ULONG Index)
 
FORCEINLINE VOID CmpReleaseKcbLock (PCM_KEY_CONTROL_BLOCK Kcb)
 
FORCEINLINE VOID CmpReleaseKcbLockByKey (ULONG ConvKey)
 
FORCEINLINE VOID CmpConvertKcbSharedToExclusive (IN PCM_KEY_CONTROL_BLOCK k)
 

Macro Definition Documentation

◆ ASSERT_KCB_VALID

#define ASSERT_KCB_VALID (   k)    ASSERT((k)->Signature == CM_KCB_SIGNATURE)

Definition at line 76 of file cm_x.h.

◆ ASSERT_VALID_HASH

Definition at line 22 of file cm_x.h.

◆ CMP_ASSERT_EXCLUSIVE_REGISTRY_LOCK

#define CMP_ASSERT_EXCLUSIVE_REGISTRY_LOCK ( )
Value:
#define TRUE
Definition: types.h:120
BOOLEAN CmpSpecialBootCondition
Definition: cmsysini.c:28
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
BOOLEAN NTAPI CmpTestRegistryLockExclusive(VOID)
Definition: cmsysini.c:1935

Definition at line 61 of file cm_x.h.

◆ CMP_ASSERT_EXCLUSIVE_REGISTRY_LOCK_OR_LOADING

#define CMP_ASSERT_EXCLUSIVE_REGISTRY_LOCK_OR_LOADING (   h)
Value:
(((PCMHIVE)h)->HiveIsLoading == TRUE) || \
#define TRUE
Definition: types.h:120
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
BOOLEAN CmpSpecialBootCondition
Definition: cmsysini.c:28
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
BOOLEAN NTAPI CmpTestRegistryLockExclusive(VOID)
Definition: cmsysini.c:1935
Definition: cm.h:391

Definition at line 68 of file cm_x.h.

◆ CMP_ASSERT_FLUSH_LOCK

#define CMP_ASSERT_FLUSH_LOCK (   h)
Value:
(((PCMHIVE)h)->HiveIsLoading == TRUE) || \
#define TRUE
Definition: types.h:120
BOOLEAN NTAPI CmpTestHiveFlusherLockExclusive(IN PCMHIVE Hive)
Definition: cmsysini.c:1985
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
BOOLEAN NTAPI CmpTestHiveFlusherLockShared(IN PCMHIVE Hive)
Definition: cmsysini.c:1977
BOOLEAN CmpSpecialBootCondition
Definition: cmsysini.c:28
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
BOOLEAN NTAPI CmpTestRegistryLockExclusive(VOID)
Definition: cmsysini.c:1935
Definition: cm.h:391

Definition at line 266 of file cm_x.h.

◆ CMP_ASSERT_HASH_ENTRY_LOCK

#define CMP_ASSERT_HASH_ENTRY_LOCK (   k)
Value:
{ \
}
#define TRUE
Definition: types.h:120
#define GET_HASH_ENTRY(Table, ConvKey)
Definition: cm_x.h:20
PCM_KEY_HASH_TABLE_ENTRY CmpCacheTable
Definition: cmkcbncb.c:18
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
Definition: rtlfuncs.h:1557
BOOLEAN NTAPI CmpTestRegistryLockExclusive(VOID)
Definition: cmsysini.c:1935
#define KeGetCurrentThread
Definition: hal.h:44
int k
Definition: mpi.c:3369

Definition at line 235 of file cm_x.h.

◆ CMP_ASSERT_KCB_LOCK

#define CMP_ASSERT_KCB_LOCK (   k)
Value:
{ \
ASSERT((CmpIsKcbLockedExclusive(k) == TRUE) || \
}
#define TRUE
Definition: types.h:120
#define CmpIsKcbLockedExclusive(k)
Definition: cm_x.h:82
BOOLEAN NTAPI CmpTestRegistryLockExclusive(VOID)
Definition: cmsysini.c:1935
int k
Definition: mpi.c:3369

Definition at line 245 of file cm_x.h.

◆ CMP_ASSERT_REGISTRY_LOCK

#define CMP_ASSERT_REGISTRY_LOCK ( )
Value:
#define TRUE
Definition: types.h:120
BOOLEAN NTAPI CmpTestRegistryLock(VOID)
Definition: cmsysini.c:1927
BOOLEAN CmpSpecialBootCondition
Definition: cmsysini.c:28
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)

Definition at line 46 of file cm_x.h.

◆ CMP_ASSERT_REGISTRY_LOCK_OR_LOADING

#define CMP_ASSERT_REGISTRY_LOCK_OR_LOADING (   h)
Value:
(((PCMHIVE)h)->HiveIsLoading == TRUE) || \
#define TRUE
Definition: types.h:120
BOOLEAN NTAPI CmpTestRegistryLock(VOID)
Definition: cmsysini.c:1927
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
BOOLEAN CmpSpecialBootCondition
Definition: cmsysini.c:28
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
Definition: cm.h:391

Definition at line 53 of file cm_x.h.

◆ CMP_GET_CACHED_CELL

#define CMP_GET_CACHED_CELL (   c)    (ULONG_PTR)((c) & ~HCELL_CACHED)

Definition at line 34 of file cm_x.h.

◆ CMP_GET_CACHED_DATA

#define CMP_GET_CACHED_DATA (   c)    (&(((PCM_CACHED_VALUE_INDEX)(CMP_GET_CACHED_CELL(c)))->Data.CellData))

Definition at line 36 of file cm_x.h.

◆ CMP_GET_CACHED_INDEX

#define CMP_GET_CACHED_INDEX (   c)    (&(((PCM_CACHED_ENTRY)(CMP_GET_CACHED_CELL(c)))->CellIndex))

Definition at line 38 of file cm_x.h.

◆ CMP_GET_CACHED_VALUE

#define CMP_GET_CACHED_VALUE (   c)    (&(((PCM_CACHED_VALUE)(CMP_GET_CACHED_CELL(c)))->KeyValue))

Definition at line 40 of file cm_x.h.

◆ CMP_IS_CELL_CACHED

#define CMP_IS_CELL_CACHED (   c)    (((c) & HCELL_CACHED) && ((c) != HCELL_NIL))

Definition at line 28 of file cm_x.h.

◆ CmpAcquireKcbLockShared

#define CmpAcquireKcbLockShared (   k)
Value:
{ \
ExAcquirePushLockShared(&GET_HASH_ENTRY(CmpCacheTable, \
(k)->ConvKey)->Lock); \
}
#define GET_HASH_ENTRY(Table, ConvKey)
Definition: cm_x.h:20
PCM_KEY_HASH_TABLE_ENTRY CmpCacheTable
Definition: cmkcbncb.c:18
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
int k
Definition: mpi.c:3369

Definition at line 121 of file cm_x.h.

◆ CmpAcquireKcbLockSharedByIndex

#define CmpAcquireKcbLockSharedByIndex (   i)
Value:
{ \
ExAcquirePushLockShared(&CmpCacheTable[(i)].Lock); \
}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
PCM_KEY_HASH_TABLE_ENTRY CmpCacheTable
Definition: cmkcbncb.c:18
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75

Definition at line 130 of file cm_x.h.

◆ CmpAcquireNcbLockExclusive

#define CmpAcquireNcbLockExclusive (   n)
Value:
{ \
ExAcquirePushLockExclusive(&GET_HASH_ENTRY(CmpNameCacheTable, \
(n)->ConvKey)->Lock); \
}
PCM_NAME_HASH_TABLE_ENTRY CmpNameCacheTable
Definition: cmkcbncb.c:19
GLdouble n
Definition: glext.h:7729
#define GET_HASH_ENTRY(Table, ConvKey)
Definition: cm_x.h:20
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75

Definition at line 199 of file cm_x.h.

◆ CmpAcquireNcbLockExclusiveByKey

#define CmpAcquireNcbLockExclusiveByKey (   k)
Value:
{ \
ExAcquirePushLockExclusive(&GET_HASH_ENTRY(CmpNameCacheTable, \
(k))->Lock); \
}
PCM_NAME_HASH_TABLE_ENTRY CmpNameCacheTable
Definition: cmkcbncb.c:19
#define GET_HASH_ENTRY(Table, ConvKey)
Definition: cm_x.h:20
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
int k
Definition: mpi.c:3369

Definition at line 208 of file cm_x.h.

◆ CmpGetAllocPageFromDelayAlloc

#define CmpGetAllocPageFromDelayAlloc (   a)    (PCM_ALLOC_PAGE)(((ULONG_PTR)(a)) & ~(PAGE_SIZE - 1))

Definition at line 260 of file cm_x.h.

◆ CmpGetAllocPageFromKcb

#define CmpGetAllocPageFromKcb (   k)    (PCM_ALLOC_PAGE)(((ULONG_PTR)(k)) & ~(PAGE_SIZE - 1))

Definition at line 254 of file cm_x.h.

◆ CmpIsKcbLockedExclusive

#define CmpIsKcbLockedExclusive (   k)
Value:
(k)->ConvKey)->Owner == KeGetCurrentThread())
#define GET_HASH_ENTRY(Table, ConvKey)
Definition: cm_x.h:20
PCM_KEY_HASH_TABLE_ENTRY CmpCacheTable
Definition: cmkcbncb.c:18
#define KeGetCurrentThread
Definition: hal.h:44
int k
Definition: mpi.c:3369

Definition at line 82 of file cm_x.h.

◆ CmpReleaseNcbLock

#define CmpReleaseNcbLock (   k)
Value:
{ \
ExReleasePushLock(&GET_HASH_ENTRY(CmpNameCacheTable, \
(k)->ConvKey)->Lock); \
}
PCM_NAME_HASH_TABLE_ENTRY CmpNameCacheTable
Definition: cmkcbncb.c:19
#define GET_HASH_ENTRY(Table, ConvKey)
Definition: cm_x.h:20
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
int k
Definition: mpi.c:3369

Definition at line 217 of file cm_x.h.

◆ CmpReleaseNcbLockByKey

#define CmpReleaseNcbLockByKey (   k)
Value:
{ \
ExReleasePushLock(&GET_HASH_ENTRY(CmpNameCacheTable, \
(k))->Lock); \
}
PCM_NAME_HASH_TABLE_ENTRY CmpNameCacheTable
Definition: cmkcbncb.c:19
#define GET_HASH_ENTRY(Table, ConvKey)
Definition: cm_x.h:20
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
int k
Definition: mpi.c:3369

Definition at line 226 of file cm_x.h.

◆ GET_HASH_ENTRY

#define GET_HASH_ENTRY (   Table,
  ConvKey 
)    (&Table[GET_HASH_INDEX(ConvKey)])

Definition at line 20 of file cm_x.h.

◆ GET_HASH_INDEX

#define GET_HASH_INDEX (   ConvKey)    GET_HASH_KEY(ConvKey) % CmpHashTableSize

Definition at line 18 of file cm_x.h.

◆ GET_HASH_KEY

#define GET_HASH_KEY (   ConvKey)    ((CMP_HASH_IRRATIONAL * (ConvKey)) % CMP_HASH_PRIME)

Definition at line 12 of file cm_x.h.

Function Documentation

◆ CmpAcquireKcbLockExclusive()

FORCEINLINE VOID CmpAcquireKcbLockExclusive ( PCM_KEY_CONTROL_BLOCK  Kcb)

Definition at line 102 of file cm_x.h.

103 {
105 }
FORCEINLINE VOID CmpAcquireKcbLockExclusiveByIndex(ULONG Index)
Definition: cm_x.h:91
#define GET_HASH_INDEX(ConvKey)
Definition: cm_x.h:18

Referenced by CmDeleteValueKey(), CmpConvertKcbSharedToExclusive(), CmpCreateKeyControlBlock(), CmpDereferenceKeyControlBlock(), CmpSecurityMethod(), DelistKeyBodyFromKCB(), and EnlistKeyBodyWithKCB().

◆ CmpAcquireKcbLockExclusiveByIndex()

FORCEINLINE VOID CmpAcquireKcbLockExclusiveByIndex ( ULONG  Index)

Definition at line 91 of file cm_x.h.

92 {
95 }
FORCEINLINE VOID ExAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
Definition: ex.h:1022
PKTHREAD Owner
Definition: cm.h:156
static const UCHAR Index[8]
Definition: usbohci.c:18
PCM_KEY_HASH_TABLE_ENTRY CmpCacheTable
Definition: cmkcbncb.c:18
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
#define KeGetCurrentThread
Definition: hal.h:44

Referenced by CmpAcquireKcbLockExclusive(), and CmpAcquireKcbLockExclusiveByKey().

◆ CmpAcquireKcbLockExclusiveByKey()

FORCEINLINE VOID CmpAcquireKcbLockExclusiveByKey ( IN ULONG  ConvKey)

Definition at line 112 of file cm_x.h.

113 {
115 }
FORCEINLINE VOID CmpAcquireKcbLockExclusiveByIndex(ULONG Index)
Definition: cm_x.h:91
#define GET_HASH_INDEX(ConvKey)
Definition: cm_x.h:18

Referenced by _Function_class_(), and CmpAcquireTwoKcbLocksExclusiveByKey().

◆ CmpConvertKcbSharedToExclusive()

FORCEINLINE VOID CmpConvertKcbSharedToExclusive ( IN PCM_KEY_CONTROL_BLOCK  k)

Definition at line 189 of file cm_x.h.

190 {
194 }
FORCEINLINE VOID CmpReleaseKcbLock(PCM_KEY_CONTROL_BLOCK Kcb)
Definition: cm_x.h:169
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
#define CmpIsKcbLockedExclusive(k)
Definition: cm_x.h:82
FORCEINLINE VOID CmpAcquireKcbLockExclusive(PCM_KEY_CONTROL_BLOCK Kcb)
Definition: cm_x.h:102
int k
Definition: mpi.c:3369

Referenced by CmEnumerateValueKey(), CmpReferenceKeyControlBlock(), CmQueryValueKey(), and CmSetValueKey().

◆ CmpReleaseKcbLock()

◆ CmpReleaseKcbLockByIndex()

FORCEINLINE VOID CmpReleaseKcbLockByIndex ( ULONG  Index)

Definition at line 158 of file cm_x.h.

159 {
162 }
PKTHREAD Owner
Definition: cm.h:156
smooth NULL
Definition: ftsmooth.c:416
static const UCHAR Index[8]
Definition: usbohci.c:18
PCM_KEY_HASH_TABLE_ENTRY CmpCacheTable
Definition: cmkcbncb.c:18
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
FORCEINLINE VOID ExReleasePushLock(PEX_PUSH_LOCK PushLock)
Definition: ex.h:1282

Referenced by CmpReleaseKcbLock(), and CmpReleaseKcbLockByKey().

◆ CmpReleaseKcbLockByKey()

FORCEINLINE VOID CmpReleaseKcbLockByKey ( ULONG  ConvKey)

Definition at line 179 of file cm_x.h.

180 {
182 }
FORCEINLINE VOID CmpReleaseKcbLockByIndex(ULONG Index)
Definition: cm_x.h:158
#define GET_HASH_INDEX(ConvKey)
Definition: cm_x.h:18

Referenced by _Function_class_(), CmpCreateKeyControlBlock(), CmpDereferenceKeyControlBlock(), and CmpReleaseTwoKcbLockByKey().

◆ CmpTryToConvertKcbSharedToExclusive()

FORCEINLINE BOOLEAN CmpTryToConvertKcbSharedToExclusive ( IN PCM_KEY_CONTROL_BLOCK  k)

Definition at line 140 of file cm_x.h.

141 {
144  &GET_HASH_ENTRY(CmpCacheTable, k->ConvKey)->Lock))
145  {
147  k->ConvKey)->Owner = KeGetCurrentThread();
148  return TRUE;
149  }
150  return FALSE;
151 }
#define TRUE
Definition: types.h:120
#define GET_HASH_ENTRY(Table, ConvKey)
Definition: cm_x.h:20
PCM_KEY_HASH_TABLE_ENTRY CmpCacheTable
Definition: cmkcbncb.c:18
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
FORCEINLINE BOOLEAN ExConvertPushLockSharedToExclusive(IN PEX_PUSH_LOCK PushLock)
Definition: ex.h:1125
#define CmpIsKcbLockedExclusive(k)
Definition: cm_x.h:82
#define KeGetCurrentThread
Definition: hal.h:44
int k
Definition: mpi.c:3369

Referenced by CmpCompareNewValueDataAgainstKCBCache(), CmpGetValueListFromCache(), CmpReferenceKeyControlBlock(), and CmSetValueKey().