[RTL][NTOSKRNL]

- Don't cast CONTAINING_RECORD

svn path=/trunk/; revision=67906
This commit is contained in:
Thomas Faber 2015-05-25 15:04:09 +00:00
parent 8f4f1ce119
commit 950f55d8b7
3 changed files with 13 additions and 14 deletions

View file

@ -438,9 +438,9 @@ RtlGetElementGenericTable(IN PRTL_GENERIC_TABLE Table,
if (NextI == OrderedElement) if (NextI == OrderedElement)
{ {
/* Return it */ /* Return it */
return &((PTABLE_ENTRY_HEADER)CONTAINING_RECORD(OrderedNode, return &CONTAINING_RECORD(OrderedNode,
TABLE_ENTRY_HEADER, TABLE_ENTRY_HEADER,
ListEntry))->UserData; ListEntry)->UserData;
} }
/* Now check if we're farther behind */ /* Now check if we're farther behind */
@ -505,9 +505,9 @@ RtlGetElementGenericTable(IN PRTL_GENERIC_TABLE Table,
Table->WhichOrderedElement = NextI; Table->WhichOrderedElement = NextI;
/* Return the element */ /* Return the element */
return &((PTABLE_ENTRY_HEADER)CONTAINING_RECORD(OrderedNode, return &CONTAINING_RECORD(OrderedNode,
TABLE_ENTRY_HEADER, TABLE_ENTRY_HEADER,
ListEntry))->UserData; ListEntry)->UserData;
} }
/* EOF */ /* EOF */

View file

@ -918,8 +918,7 @@ QSI_DEF(SystemProcessInformation)
CurrentEntry = Process->Pcb.ThreadListHead.Flink; CurrentEntry = Process->Pcb.ThreadListHead.Flink;
while (CurrentEntry != &Process->Pcb.ThreadListHead) while (CurrentEntry != &Process->Pcb.ThreadListHead)
{ {
CurrentThread = (PETHREAD)CONTAINING_RECORD(CurrentEntry, KTHREAD, CurrentThread = CONTAINING_RECORD(CurrentEntry, ETHREAD, Tcb.ThreadListEntry);
ThreadListEntry);
ThreadInfo->KernelTime.QuadPart = UInt32x32To64(CurrentThread->Tcb.KernelTime, KeMaximumIncrement); ThreadInfo->KernelTime.QuadPart = UInt32x32To64(CurrentThread->Tcb.KernelTime, KeMaximumIncrement);
ThreadInfo->UserTime.QuadPart = UInt32x32To64(CurrentThread->Tcb.UserTime, KeMaximumIncrement); ThreadInfo->UserTime.QuadPart = UInt32x32To64(CurrentThread->Tcb.UserTime, KeMaximumIncrement);

View file

@ -105,7 +105,7 @@ FsRtlPruneTunnelCache(
while(Entry != &Cache->TimerQueue) while(Entry != &Cache->TimerQueue)
{ {
/* get node entry */ /* get node entry */
CurEntry = (PTUNNEL_NODE_ENTRY)CONTAINING_RECORD(Entry, TUNNEL_NODE_ENTRY, TimerQueueEntry); CurEntry = CONTAINING_RECORD(Entry, TUNNEL_NODE_ENTRY, TimerQueueEntry);
/* get next entry */ /* get next entry */
NextEntry = Entry->Flink; NextEntry = Entry->Flink;
@ -124,7 +124,7 @@ FsRtlPruneTunnelCache(
/* If we have too many entries */ /* If we have too many entries */
while (Cache->NumEntries > TunnelMaxEntries) while (Cache->NumEntries > TunnelMaxEntries)
{ {
CurEntry = (PTUNNEL_NODE_ENTRY)CONTAINING_RECORD(Entry, TUNNEL_NODE_ENTRY, TimerQueueEntry); CurEntry = CONTAINING_RECORD(Entry, TUNNEL_NODE_ENTRY, TimerQueueEntry);
FsRtlRemoveNodeFromTunnel(Cache, CurEntry, PoolList, &Rebalance); FsRtlRemoveNodeFromTunnel(Cache, CurEntry, PoolList, &Rebalance);
} }
} }
@ -295,7 +295,7 @@ FsRtlEmptyFreePoolList(
{ {
/* and free them, one by one */ /* and free them, one by one */
CurEntry = RemoveHeadList(PoolList); CurEntry = RemoveHeadList(PoolList);
CurNode = (PTUNNEL_NODE_ENTRY)CONTAINING_RECORD(CurEntry, TUNNEL_NODE_ENTRY, TimerQueueEntry); CurNode = CONTAINING_RECORD(CurEntry, TUNNEL_NODE_ENTRY, TimerQueueEntry);
FsRtlFreeTunnelNode(CurNode, 0); FsRtlFreeTunnelNode(CurNode, 0);
} }
} }
@ -609,7 +609,7 @@ FsRtlDeleteKeyFromTunnelCache(IN PTUNNEL Cache,
CurEntry = Cache->Cache; CurEntry = Cache->Cache;
while (CurEntry) while (CurEntry)
{ {
CurNode = (PTUNNEL_NODE_ENTRY)CONTAINING_RECORD(CurEntry, TUNNEL_NODE_ENTRY, SplayInfo); CurNode = CONTAINING_RECORD(CurEntry, TUNNEL_NODE_ENTRY, SplayInfo);
if (CurNode->DirectoryKey > DirectoryKey) if (CurNode->DirectoryKey > DirectoryKey)
{ {
@ -647,7 +647,7 @@ FsRtlDeleteKeyFromTunnelCache(IN PTUNNEL Cache,
/* delete any matching key */ /* delete any matching key */
do do
{ {
CurNode = (PTUNNEL_NODE_ENTRY)CONTAINING_RECORD(LastEntry, TUNNEL_NODE_ENTRY, SplayInfo); CurNode = CONTAINING_RECORD(LastEntry, TUNNEL_NODE_ENTRY, SplayInfo);
Successors = RtlRealSuccessor(LastEntry); Successors = RtlRealSuccessor(LastEntry);
if (CurNode->DirectoryKey != DirectoryKey) if (CurNode->DirectoryKey != DirectoryKey)
@ -704,7 +704,7 @@ FsRtlDeleteTunnelCache(IN PTUNNEL Cache)
while(Entry != &Cache->TimerQueue) while(Entry != &Cache->TimerQueue)
{ {
/* get node entry */ /* get node entry */
CurEntry = (PTUNNEL_NODE_ENTRY)CONTAINING_RECORD(Entry, TUNNEL_NODE_ENTRY, TimerQueueEntry); CurEntry = CONTAINING_RECORD(Entry, TUNNEL_NODE_ENTRY, TimerQueueEntry);
/* get next entry */ /* get next entry */
NextEntry = Entry->Flink; NextEntry = Entry->Flink;