Go to the source code of this file.
Defines |
| #define | WSH_SEARCH_TABLE_FROM_HANDLE(h, t) (&t->SearchTables[(((ULONG_PTR)h >> 2) & t->Mask)]) |
| #define | WSH_HASH_FROM_HANDLE(h, hs) (hs->Handles[((ULONG_PTR)h % hs->Size)]) |
| #define | AcquireWriteLock(t) EnterCriticalSection(&t->Lock); |
| #define | ReleaseWriteLock(t) LeaveCriticalSection(&t->Lock); |
Typedefs |
| typedef volatile LONG | VLONG |
| typedef VLONG * | PVLONG |
Functions |
| static VOID __inline | AcquireReadLock (IN PWAH_SEARCH_TABLE Table, IN PVLONG *Count) |
| static VOID __inline | ReleaseReadLock (IN PWAH_SEARCH_TABLE Table, IN PVLONG Count) |
| VOID WINAPI | DoWaitForReaders (IN PWAH_SEARCH_TABLE Table, IN PVLONG Counter) |
| static VOID __inline | TryWaitForReaders (IN PWAH_SEARCH_TABLE Table) |
| DWORD WINAPI | WahCreateHandleContextTable (OUT PWAH_HANDLE_TABLE *Table) |
| DWORD WINAPI | WahDestroyHandleContextTable (IN PWAH_HANDLE_TABLE Table) |
| BOOL WINAPI | WahEnumerateHandleContexts (IN PWAH_HANDLE_TABLE Table, IN PWAH_HANDLE_ENUMERATE_PROC Callback, IN PVOID Context) |
| PWAH_HANDLE WINAPI | WahInsertHandleContext (IN PWAH_HANDLE_TABLE Table, IN PWAH_HANDLE Handle) |
| PWAH_HANDLE WINAPI | WahReferenceContextByHandle (IN PWAH_HANDLE_TABLE Table, IN HANDLE Handle) |
| DWORD WINAPI | WahRemoveHandleContext (IN PWAH_HANDLE_TABLE Table, IN PWAH_HANDLE Handle) |
Variables |
| CRITICAL_SECTION | WshHandleTableLock |
| HANDLE | ghWriterEvent |
| DWORD | gdwSpinCount = 0 |
| DWORD | gHandleToIndexMask |
| CONST DWORD | SockPrimes [] |