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

View file

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

View file

@ -105,7 +105,7 @@ FsRtlPruneTunnelCache(
while(Entry != &Cache->TimerQueue)
{
/* 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 */
NextEntry = Entry->Flink;
@ -124,7 +124,7 @@ FsRtlPruneTunnelCache(
/* If we have too many entries */
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);
}
}
@ -295,7 +295,7 @@ FsRtlEmptyFreePoolList(
{
/* and free them, one by one */
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);
}
}
@ -609,7 +609,7 @@ FsRtlDeleteKeyFromTunnelCache(IN PTUNNEL Cache,
CurEntry = Cache->Cache;
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)
{
@ -647,7 +647,7 @@ FsRtlDeleteKeyFromTunnelCache(IN PTUNNEL Cache,
/* delete any matching key */
do
{
CurNode = (PTUNNEL_NODE_ENTRY)CONTAINING_RECORD(LastEntry, TUNNEL_NODE_ENTRY, SplayInfo);
CurNode = CONTAINING_RECORD(LastEntry, TUNNEL_NODE_ENTRY, SplayInfo);
Successors = RtlRealSuccessor(LastEntry);
if (CurNode->DirectoryKey != DirectoryKey)
@ -704,7 +704,7 @@ FsRtlDeleteTunnelCache(IN PTUNNEL Cache)
while(Entry != &Cache->TimerQueue)
{
/* 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 */
NextEntry = Entry->Flink;