just a thought, but will

Code:
void Foo(BYTE* pTemp){
   DWORD dwNew;
   dwNew = *(DWORD*)&pTemp[4];
   return dwNew;
   }
properly return the value in pTemp[x] ? I know its convoluted, but I actualyl have a situation where this particular redirect would make the code simpler lol.