diff --git a/ntoskrnl/include/internal/cm_x.h b/ntoskrnl/include/internal/cm_x.h index daf7d67643b..5e7dffd2872 100644 --- a/ntoskrnl/include/internal/cm_x.h +++ b/ntoskrnl/include/internal/cm_x.h @@ -89,6 +89,14 @@ (GET_HASH_ENTRY(CmpCacheTable, \ (k)->ConvKey)->Owner == KeGetCurrentThread()) +// +// Shared acquires a KCB by index +// +#define CmpAcquireKcbLockSharedByIndex(i) \ +{ \ + ExAcquirePushLockShared(&CmpCacheTable[(i)].Lock); \ +} + // // Exclusively acquires a KCB by index // @@ -120,6 +128,16 @@ CmpAcquireKcbLockExclusiveByKey(IN ULONG ConvKey) CmpAcquireKcbLockExclusiveByIndex(GET_HASH_INDEX(ConvKey)); } +// +// Shared acquires a KCB by key +// +FORCEINLINE +VOID +CmpAcquireKcbLockSharedByKey( + _In_ ULONG ConvKey) +{ + CmpAcquireKcbLockSharedByIndex(GET_HASH_INDEX(ConvKey)); +} // // Shared acquires a KCB @@ -130,14 +148,6 @@ CmpAcquireKcbLockExclusiveByKey(IN ULONG ConvKey) (k)->ConvKey)->Lock); \ } -// -// Shared acquires a KCB by index -// -#define CmpAcquireKcbLockSharedByIndex(i) \ -{ \ - ExAcquirePushLockShared(&CmpCacheTable[(i)].Lock); \ -} - // // Tries to convert a KCB lock //