/*\r
* PVOID\r
* InterlockedExchangePointer(\r
- * IN OUT PVOID VOLATILE *Target,\r
+ * IN OUT PVOID volatile *Target,\r
* IN PVOID Value)\r
*/\r
#define InterlockedExchangePointer(Target, Value) \\r
return InterlockedExchangeAdd64(Addend, Value) + Value;\r
}\r
//#endif\r
+#define BitScanForward _BitScanForward\r
+#define BitScanReverse _BitScanReverse\r
+#endif\r
+\r
+#ifdef _M_AMD64\r
+#define InterlockedBitTestAndSet64 _interlockedbittestandset64\r
+#define InterlockedBitTestAndReset64 _interlockedbittestandreset64\r
#endif\r
\r
#endif /* !__INTERLOCKED_DECLARED */\r
#define PSLIST_ENTRY PSINGLE_LIST_ENTRY\r
\r
#if defined(_WIN64)\r
-typedef union _SLIST_HEADER {\r
+typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {\r
struct {\r
ULONGLONG Alignment;\r
ULONGLONG Region;\r
ULONGLONG Reserved:59;\r
ULONGLONG Region:3;\r
} Header8;\r
+ struct {\r
ULONGLONG Depth:16;\r
ULONGLONG Sequence:48;\r
ULONGLONG HeaderType:1;\r
ULONGLONG Init:1;\r
ULONGLONG Reserved:2;\r
ULONGLONG NextEntry:60;\r
- struct {\r
} Header16;\r
} SLIST_HEADER, *PSLIST_HEADER;\r
#else\r