60#define RX_PREFIX_TABLE_DEFAULT_LENGTH 32
81#if (_WIN32_WINNT < 0x0600)
82#define RxAcquirePrefixTableLockShared(T, W) RxpAcquirePrefixTableLockShared((T),(W),TRUE)
83#define RxAcquirePrefixTableLockExclusive(T, W) RxpAcquirePrefixTableLockExclusive((T), (W), TRUE)
84#define RxReleasePrefixTableLock(T) RxpReleasePrefixTableLock((T), TRUE)
103#define RxAcquirePrefixTableLockShared(T, W) ExAcquireResourceSharedLite(&(T)->TableLock, (W))
104#define RxAcquirePrefixTableLockExclusive(T, W) ExAcquireResourceExclusiveLite(&(T)->TableLock, (W))
105#define RxReleasePrefixTableLock(T) ExReleaseResourceLite(&(T)->TableLock)
112#define RxIsPrefixTableLockExclusive(T) ExIsResourceAcquiredExclusiveLite(&(T)->TableLock)
113#define RxIsPrefixTableLockAcquired(T) (ExIsResourceAcquiredSharedLite(&(T)->TableLock) || \
114 ExIsResourceAcquiredExclusiveLite(&(T)->TableLock))
117#define HASH_BUCKET(T, H) &(T)->HashBuckets[H % (T)->TableSize]
_Inout_ PFCB _Inout_ PUNICODE_STRING RemainingName
struct _RX_PREFIX_TABLE * PRX_PREFIX_TABLE
struct _RX_PREFIX_ENTRY RX_PREFIX_ENTRY
struct _RX_PREFIX_ENTRY * PRX_PREFIX_ENTRY
struct _RX_PREFIX_TABLE RX_PREFIX_TABLE
PRX_PREFIX_ENTRY RxPrefixTableInsertName(_Inout_ PRX_PREFIX_TABLE ThisTable, _Inout_ PRX_PREFIX_ENTRY ThisEntry, _In_ PVOID Container, _In_ PULONG ContainerRefCount, _In_ USHORT CaseInsensitiveLength, _In_ PRX_CONNECTION_ID ConnectionId)
ULONG RxTableComputeHashValue(_In_ PUNICODE_STRING Name)
#define RX_PREFIX_TABLE_DEFAULT_LENGTH
VOID RxpReleasePrefixTableLock(_In_ PRX_PREFIX_TABLE pTable, _In_ BOOLEAN ProcessBufferingStateChangeRequests)
BOOLEAN RxpAcquirePrefixTableLockExclusive(_In_ PRX_PREFIX_TABLE pTable, _In_ BOOLEAN Wait, _In_ BOOLEAN ProcessBufferingStateChangeRequests)
VOID RxRemovePrefixTableEntry(_Inout_ PRX_PREFIX_TABLE ThisTable, _Inout_ PRX_PREFIX_ENTRY Entry)
BOOLEAN RxpAcquirePrefixTableLockShared(_In_ PRX_PREFIX_TABLE pTable, _In_ BOOLEAN Wait, _In_ BOOLEAN ProcessBufferingStateChangeRequests)
VOID RxExclusivePrefixTableLockToShared(_In_ PRX_PREFIX_TABLE Table)
VOID RxInitializePrefixTable(_Inout_ PRX_PREFIX_TABLE ThisTable, _In_opt_ ULONG TableSize, _In_ BOOLEAN CaseInsensitiveMatch)
struct _RX_CONNECTION_ID * PRX_CONNECTION_ID
struct _RX_CONNECTION_ID RX_CONNECTION_ID
PVOID RxPrefixTableLookupName(_In_ PRX_PREFIX_TABLE ThisTable, _In_ PUNICODE_STRING CanonicalName, _Out_ PUNICODE_STRING RemainingName, _In_ PRX_CONNECTION_ID ConnectionId)
base of all file and directory entries
USHORT CaseInsensitiveLength
NODE_TYPE_CODE NodeTypeCode
RX_CONNECTION_ID ConnectionId
NODE_BYTE_SIZE NodeByteSize
PRX_PREFIX_ENTRY TableEntryForNull
LIST_ENTRY HashBuckets[RX_PREFIX_TABLE_DEFAULT_LENGTH]
NODE_TYPE_CODE NodeTypeCode
BOOLEAN CaseInsensitiveMatch
NODE_BYTE_SIZE NodeByteSize
static const EHCI_PERIOD pTable[]
_In_ WDFDPC _In_ BOOLEAN Wait
_Must_inspect_result_ typedef _Out_ PULONG TableSize