Use a more portable scheme for storing the name of a critical
section.

diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
index 1cb4937..bcd3e78 100644
--- a/dlls/advapi32/service.c
+++ b/dlls/advapi32/service.c
@@ -75,7 +75,7 @@
     0, 0, &service_cs,
     { &service_cs_debug.ProcessLocksList, 
       &service_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": service_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": service_cs") }
 };
 static CRITICAL_SECTION service_cs = { &service_cs_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/dinput/joystick_linux.c b/dlls/dinput/joystick_linux.c
index 4f5e6a6..7fea658 100644
--- a/dlls/dinput/joystick_linux.c
+++ b/dlls/dinput/joystick_linux.c
@@ -552,7 +552,7 @@
 
     IDirectInputDevice_AddRef((LPDIRECTINPUTDEVICE8A)newDevice->dinput);
     InitializeCriticalSection(&(newDevice->crit));
-    newDevice->crit.DebugInfo->Spare[1] = (DWORD)"DINPUT_Mouse";
+    newDevice->crit.DebugInfo->Spare[0] = (DWORD_PTR)"DINPUT_Mouse";
 
     newDevice->devcaps.dwSize = sizeof(newDevice->devcaps);
     newDevice->devcaps.dwFlags = DIDC_ATTACHED;
@@ -688,7 +688,7 @@
     /* release the data transform filter */
     release_DataFormat(This->transform);
 
-    This->crit.DebugInfo->Spare[1] = 0;
+    This->crit.DebugInfo->Spare[0] = 0;
     DeleteCriticalSection(&(This->crit));
     IDirectInputDevice_Release((LPDIRECTINPUTDEVICE8A)This->dinput);
 
diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c
index 52d5b08..98bc315 100644
--- a/dlls/dinput/keyboard.c
+++ b/dlls/dinput/keyboard.c
@@ -83,7 +83,7 @@
 {
     0, 0, &keyboard_crit,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": keyboard_crit") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": keyboard_crit") }
 };
 static CRITICAL_SECTION keyboard_crit = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index 62c719c..bb1fca3 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -365,7 +365,7 @@
     if (!ref) {
 	DSOUND_RemoveBuffer(This->dsound, This);
 
-	This->lock.DebugInfo->Spare[1] = 0;
+	This->lock.DebugInfo->Spare[0] = 0;
 	DeleteCriticalSection(&(This->lock));
 
 	if (This->hwbuf) {
@@ -1152,7 +1152,7 @@
 		DSOUND_RecalcVolPan(&(dsb->volpan));
 
 	InitializeCriticalSection(&(dsb->lock));
-        dsb->lock.DebugInfo->Spare[1] = (DWORD)"DSOUNDBUFFER_lock";
+        dsb->lock.DebugInfo->Spare[0] = (DWORD_PTR)"DSOUNDBUFFER_lock";
 
 	/* register buffer if not primary */
 	if (!(dsbd->dwFlags & DSBCAPS_PRIMARYBUFFER)) {
@@ -1160,7 +1160,7 @@
 		if (err != DS_OK) {
 			HeapFree(GetProcessHeap(),0,dsb->buffer->memory);
 			HeapFree(GetProcessHeap(),0,dsb->buffer);
-        		dsb->lock.DebugInfo->Spare[1] = 0;
+        		dsb->lock.DebugInfo->Spare[0] = 0;
 			DeleteCriticalSection(&(dsb->lock));
 			HeapFree(GetProcessHeap(),0,dsb->pwfx);
 			HeapFree(GetProcessHeap(),0,dsb);
diff --git a/dlls/dsound/capture.c b/dlls/dsound/capture.c
index 5371c63..cadb107 100644
--- a/dlls/dsound/capture.c
+++ b/dlls/dsound/capture.c
@@ -266,7 +266,7 @@
     device->state = STATE_STOPPED;
 
     InitializeCriticalSection( &(device->lock) );
-    device->lock.DebugInfo->Spare[1] = (DWORD)"DSCAPTURE_lock";
+    device->lock.DebugInfo->Spare[0] = (DWORD_PTR)"DSCAPTURE_lock";
 
     *ppDevice = device;
 
@@ -509,7 +509,7 @@
         }
 
         HeapFree(GetProcessHeap(), 0, device->pwfx);
-        device->lock.DebugInfo->Spare[1] = 0;
+        device->lock.DebugInfo->Spare[0] = 0;
         DeleteCriticalSection( &(device->lock) );
         DSOUND_capture[device->drvdesc.dnDevNode] = NULL;
         HeapFree(GetProcessHeap(), 0, device);
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index 6f67fc5..67fd6ce 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -545,13 +545,13 @@
     CopyMemory(dsb->pwfx, pdsb->pwfx, size);
 
     InitializeCriticalSection(&(dsb->lock));
-    dsb->lock.DebugInfo->Spare[1] = (DWORD)"DSOUNDBUFFER_lock";
+    dsb->lock.DebugInfo->Spare[0] = (DWORD_PTR)"DSOUNDBUFFER_lock";
 
     /* register buffer */
     hres = DSOUND_AddBuffer(This, dsb);
     if (hres != DS_OK) {
         IDirectSoundBuffer8_Release(psb);
-        dsb->lock.DebugInfo->Spare[1] = 0;
+        dsb->lock.DebugInfo->Spare[0] = 0;
         DeleteCriticalSection(&(dsb->lock));
         HeapFree(GetProcessHeap(),0,dsb->buffer);
         HeapFree(GetProcessHeap(),0,dsb->pwfx);
@@ -931,7 +931,7 @@
     device->pwfx->cbSize = 0;
 
     InitializeCriticalSection(&(device->mixlock));
-    device->mixlock.DebugInfo->Spare[1] = (DWORD)"DSOUND_mixlock";
+    device->mixlock.DebugInfo->Spare[0] = (DWORD_PTR)"DSOUND_mixlock";
 
     RtlInitializeResource(&(device->buffer_list_lock));
 
@@ -989,7 +989,7 @@
 	HeapFree(GetProcessHeap(),0,device->tmp_buffer);
 	HeapFree(GetProcessHeap(),0,device->buffer);
         RtlDeleteResource(&device->buffer_list_lock);
-        device->mixlock.DebugInfo->Spare[1] = 0;
+        device->mixlock.DebugInfo->Spare[0] = 0;
         DeleteCriticalSection(&device->mixlock);
         HeapFree(GetProcessHeap(),0,device);
         TRACE("(%p) released\n", device); 
diff --git a/dlls/dsound/duplex.c b/dlls/dsound/duplex.c
index 1fa585a..c0a97db 100644
--- a/dlls/dsound/duplex.c
+++ b/dlls/dsound/duplex.c
@@ -114,7 +114,7 @@
         This->lpVtbl = &dsfdvt;
 
         InitializeCriticalSection( &(This->lock) );
-        This->lock.DebugInfo->Spare[1] = (DWORD)"DSDUPLEX_lock";
+        This->lock.DebugInfo->Spare[0] = (DWORD_PTR)"DSDUPLEX_lock";
 
         hres = IDirectSoundFullDuplexImpl_Initialize( (LPDIRECTSOUNDFULLDUPLEX)This,
                                                       pcGuidCaptureDevice, pcGuidRenderDevice,
@@ -161,7 +161,7 @@
     TRACE("(%p) ref was %ld\n", This, ref - 1);
 
     if (!ref) {
-        This->lock.DebugInfo->Spare[1] = 0;
+        This->lock.DebugInfo->Spare[0] = 0;
         DeleteCriticalSection( &(This->lock) );
         HeapFree( GetProcessHeap(), 0, This );
 	TRACE("(%p) released\n", This);
diff --git a/dlls/gdi/driver.c b/dlls/gdi/driver.c
index 7d4ad44..84664ec 100644
--- a/dlls/gdi/driver.c
+++ b/dlls/gdi/driver.c
@@ -53,7 +53,7 @@
 {
     0, 0, &driver_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": driver_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": driver_section") }
 };
 static CRITICAL_SECTION driver_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/gdi/gdiobj.c b/dlls/gdi/gdiobj.c
index cc9a601..57ac138 100644
--- a/dlls/gdi/gdiobj.c
+++ b/dlls/gdi/gdiobj.c
@@ -72,7 +72,7 @@
 {
     0, 0, &GDI_level.crst,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": GDI_level") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": GDI_level") }
 };
 static SYSLEVEL GDI_level = { { &critsect_debug, -1, 0, 0, 0, 0 }, 3 };
 
diff --git a/dlls/kernel/console.c b/dlls/kernel/console.c
index b6b7ce8..2234c0b 100644
--- a/dlls/kernel/console.c
+++ b/dlls/kernel/console.c
@@ -1460,7 +1460,7 @@
 {
     0, 0, &CONSOLE_CritSect,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": CONSOLE_CritSect") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": CONSOLE_CritSect") }
 };
 static CRITICAL_SECTION CONSOLE_CritSect = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/kernel/kernel_main.c b/dlls/kernel/kernel_main.c
index 79bb9d8..a9b76f1 100644
--- a/dlls/kernel/kernel_main.c
+++ b/dlls/kernel/kernel_main.c
@@ -57,7 +57,7 @@
 {
     0, 0, &ldt_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": ldt_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": ldt_section") }
 };
 static CRITICAL_SECTION ldt_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/kernel/lcformat.c b/dlls/kernel/lcformat.c
index d3d0c04..0f6e1e8 100644
--- a/dlls/kernel/lcformat.c
+++ b/dlls/kernel/lcformat.c
@@ -88,7 +88,7 @@
     0, 0, &NLS_FormatsCS,
     { &NLS_FormatsCS_debug.ProcessLocksList,
       &NLS_FormatsCS_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": NLS_Formats") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": NLS_Formats") }
 };
 static CRITICAL_SECTION NLS_FormatsCS = { &NLS_FormatsCS_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/kernel/module.c b/dlls/kernel/module.c
index 2efdd80..961afeb 100644
--- a/dlls/kernel/module.c
+++ b/dlls/kernel/module.c
@@ -55,7 +55,7 @@
 {
     0, 0, &dlldir_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": dlldir_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": dlldir_section") }
 };
 static CRITICAL_SECTION dlldir_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/kernel/profile.c b/dlls/kernel/profile.c
index f19a323..2eb6880 100644
--- a/dlls/kernel/profile.c
+++ b/dlls/kernel/profile.c
@@ -91,7 +91,7 @@
 {
     0, 0, &PROFILE_CritSect,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": PROFILE_CritSect") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": PROFILE_CritSect") }
 };
 static CRITICAL_SECTION PROFILE_CritSect = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/kernel/syslevel.c b/dlls/kernel/syslevel.c
index ee15a2e..b95f215 100644
--- a/dlls/kernel/syslevel.c
+++ b/dlls/kernel/syslevel.c
@@ -41,7 +41,7 @@
 {
     0, 0, &Win16Mutex.crst,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": Win16Mutex") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": Win16Mutex") }
 };
 static SYSLEVEL Win16Mutex = { { &critsect_debug, -1, 0, 0, 0, 0 }, 1 };
 
diff --git a/dlls/kernel/vxd.c b/dlls/kernel/vxd.c
index fdcee22..5f0617e 100644
--- a/dlls/kernel/vxd.c
+++ b/dlls/kernel/vxd.c
@@ -84,7 +84,7 @@
 {
     0, 0, &vxd_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": vxd_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": vxd_section") }
 };
 static CRITICAL_SECTION vxd_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/mscms/handle.c b/dlls/mscms/handle.c
index ba6f74c..e6418e7 100644
--- a/dlls/mscms/handle.c
+++ b/dlls/mscms/handle.c
@@ -37,7 +37,7 @@
     0, 0, &MSCMS_handle_cs,
     { &MSCMS_handle_cs_debug.ProcessLocksList,
       &MSCMS_handle_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": MSCMS_handle_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": MSCMS_handle_cs") }
 };
 static CRITICAL_SECTION MSCMS_handle_cs = { &MSCMS_handle_cs_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/msi/handle.c b/dlls/msi/handle.c
index 9ecfd05..d5d51fd 100644
--- a/dlls/msi/handle.c
+++ b/dlls/msi/handle.c
@@ -37,7 +37,7 @@
     0, 0, &MSI_handle_cs,
     { &MSI_handle_cs_debug.ProcessLocksList, 
       &MSI_handle_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": MSI_handle_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": MSI_handle_cs") }
 };
 static CRITICAL_SECTION MSI_handle_cs = { &MSI_handle_cs_debug, -1, 0, 0, 0, 0 };
 
@@ -47,7 +47,7 @@
     0, 0, &MSI_object_cs,
     { &MSI_object_cs_debug.ProcessLocksList, 
       &MSI_object_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": MSI_object_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": MSI_object_cs") }
 };
 static CRITICAL_SECTION MSI_object_cs = { &MSI_object_cs_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c
index 8da6268..df474fb 100644
--- a/dlls/ntdll/cdrom.c
+++ b/dlls/ntdll/cdrom.c
@@ -380,7 +380,7 @@
 {
     0, 0, &cache_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": cache_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": cache_section") }
 };
 static RTL_CRITICAL_SECTION cache_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ntdll/critsection.c b/dlls/ntdll/critsection.c
index 0c77224..e0066d5 100644
--- a/dlls/ntdll/critsection.c
+++ b/dlls/ntdll/critsection.c
@@ -124,8 +124,7 @@
         crit->DebugInfo->ProcessLocksList.Flink = &(crit->DebugInfo->ProcessLocksList);
         crit->DebugInfo->EntryCount = 0;
         crit->DebugInfo->ContentionCount = 0;
-        crit->DebugInfo->Spare[0] = 0;
-        crit->DebugInfo->Spare[1] = 0;
+        memset( crit->DebugInfo->Spare, 0, sizeof(crit->DebugInfo->Spare) );
     }
     crit->LockCount      = -1;
     crit->RecursionCount = 0;
@@ -190,7 +189,7 @@
     if (crit->DebugInfo)
     {
         /* only free the ones we made in here */
-        if (!crit->DebugInfo->Spare[1])
+        if (!crit->DebugInfo->Spare[0])
         {
             RtlFreeHeap( GetProcessHeap(), 0, crit->DebugInfo );
             crit->DebugInfo = NULL;
@@ -234,7 +233,7 @@
         if ( status == STATUS_TIMEOUT )
         {
             const char *name = NULL;
-            if (crit->DebugInfo) name = (char *)crit->DebugInfo->Spare[1];
+            if (crit->DebugInfo) name = (char *)crit->DebugInfo->Spare[0];
             if (!name) name = "?";
             ERR( "section %p %s wait timed out in thread %04lx, blocked by %04lx, retrying (60 sec)\n",
                  crit, debugstr_a(name), GetCurrentThreadId(), (DWORD)crit->OwningThread );
@@ -251,7 +250,7 @@
         if (status == STATUS_WAIT_0) return STATUS_SUCCESS;
 
         /* Throw exception only for Wine internal locks */
-        if ((!crit->DebugInfo) || (!crit->DebugInfo->Spare[1])) continue;
+        if ((!crit->DebugInfo) || (!crit->DebugInfo->Spare[0])) continue;
 
         rec.ExceptionCode    = STATUS_POSSIBLE_DEADLOCK;
         rec.ExceptionFlags   = 0;
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index e11e8d1..d2dc09d 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -141,7 +141,7 @@
 {
     0, 0, &dir_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": dir_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": dir_section") }
 };
 static RTL_CRITICAL_SECTION dir_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c
index cd7cc6f..35b89b1 100644
--- a/dlls/ntdll/exception.c
+++ b/dlls/ntdll/exception.c
@@ -58,7 +58,7 @@
 {
     0, 0, &vectored_handlers_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": vectored_handlers_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": vectored_handlers_section") }
 };
 static RTL_CRITICAL_SECTION vectored_handlers_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 8344d62..71a06b2 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -188,7 +188,7 @@
 {
     0, 0, NULL,  /* will be set later */
     { &process_heap_critsect_debug.ProcessLocksList, &process_heap_critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": main process heap section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": main process heap section") }
 };
 
 
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index fa04f82..205fc00 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -101,7 +101,7 @@
 {
     0, 0, &loader_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": loader_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": loader_section") }
 };
 static RTL_CRITICAL_SECTION loader_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c
index 930c9d9..dcc3867 100644
--- a/dlls/ntdll/rtl.c
+++ b/dlls/ntdll/rtl.c
@@ -42,7 +42,7 @@
 {
     0, 0, &peb_lock,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": peb_lock") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": peb_lock") }
 };
 static RTL_CRITICAL_SECTION peb_lock = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ntdll/time.c b/dlls/ntdll/time.c
index 1906bca..941ab8f 100644
--- a/dlls/ntdll/time.c
+++ b/dlls/ntdll/time.c
@@ -52,7 +52,7 @@
 {
     0, 0, &TIME_GetBias_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": TIME_GetBias_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": TIME_GetBias_section") }
 };
 static RTL_CRITICAL_SECTION TIME_GetBias_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 0d56b66..038737c 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -106,7 +106,7 @@
 {
     0, 0, &csVirtual,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": csVirtual") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": csVirtual") }
 };
 static RTL_CRITICAL_SECTION csVirtual = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index 8c7a8bd..53acd8e 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -97,7 +97,7 @@
 {
     0, 0, &csApartment,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": csApartment") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": csApartment") }
 };
 static CRITICAL_SECTION csApartment = { &critsect_debug, -1, 0, 0, 0, 0 };
 
@@ -134,7 +134,7 @@
 {
     0, 0, &csRegisteredClassList,
     { &class_cs_debug.ProcessLocksList, &class_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": csRegisteredClassList") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": csRegisteredClassList") }
 };
 static CRITICAL_SECTION csRegisteredClassList = { &class_cs_debug, -1, 0, 0, 0, 0 };
 
@@ -161,7 +161,7 @@
 {
     0, 0, &csOpenDllList,
     { &dll_cs_debug.ProcessLocksList, &dll_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": csOpenDllList") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": csOpenDllList") }
 };
 static CRITICAL_SECTION csOpenDllList = { &dll_cs_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ole32/compobj_private.h b/dlls/ole32/compobj_private.h
index 88d251b..97a3177 100644
--- a/dlls/ole32/compobj_private.h
+++ b/dlls/ole32/compobj_private.h
@@ -256,13 +256,8 @@
 #define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))
 
 /* helpers for debugging */
-#ifdef __i386__
-# define DEBUG_SET_CRITSEC_NAME(cs, name) (cs)->DebugInfo->Spare[1] = (DWORD)(__FILE__ ": " name)
-# define DEBUG_CLEAR_CRITSEC_NAME(cs) (cs)->DebugInfo->Spare[1] = 0
-#else
-# define DEBUG_SET_CRITSEC_NAME(cs, name)
-# define DEBUG_CLEAR_CRITSEC_NAME(cs)
-#endif
+# define DEBUG_SET_CRITSEC_NAME(cs, name) (cs)->DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": " name)
+# define DEBUG_CLEAR_CRITSEC_NAME(cs) (cs)->DebugInfo->Spare[0] = 0
 
 extern HINSTANCE OLE32_hInstance; /* FIXME: make static */
 
diff --git a/dlls/ole32/git.c b/dlls/ole32/git.c
index f51714c..cdf763a 100644
--- a/dlls/ole32/git.c
+++ b/dlls/ole32/git.c
@@ -88,7 +88,7 @@
 {
     0, 0, &git_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": global interface table") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": global interface table") }
 };
 static CRITICAL_SECTION git_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ole32/ifs.c b/dlls/ole32/ifs.c
index 5c087f3..0696139 100644
--- a/dlls/ole32/ifs.c
+++ b/dlls/ole32/ifs.c
@@ -68,7 +68,7 @@
 {
     0, 0, &IMalloc32_SpyCS,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": IMalloc32_SpyCS") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": IMalloc32_SpyCS") }
 };
 static CRITICAL_SECTION IMalloc32_SpyCS = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index a867a9b..117abfd 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -63,7 +63,7 @@
 {
     0, 0, &csRegIf,
     { &csRegIf_debug.ProcessLocksList, &csRegIf_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": dcom registered server interfaces") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": dcom registered server interfaces") }
 };
 static CRITICAL_SECTION csRegIf = { &csRegIf_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index f60b013..a764c12 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -2155,7 +2155,7 @@
 {
     0, 0, &cache_section,
     { &cache_section_debug.ProcessLocksList, &cache_section_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": typelib loader cache") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": typelib loader cache") }
 };
 static CRITICAL_SECTION cache_section = { &cache_section_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/rpcrt4/rpc_server.c b/dlls/rpcrt4/rpc_server.c
index b33b50b..72050ac 100644
--- a/dlls/rpcrt4/rpc_server.c
+++ b/dlls/rpcrt4/rpc_server.c
@@ -78,7 +78,7 @@
 {
     0, 0, &server_cs,
     { &server_cs_debug.ProcessLocksList, &server_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": server_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": server_cs") }
 };
 static CRITICAL_SECTION server_cs = { &server_cs_debug, -1, 0, 0, 0, 0 };
 
@@ -87,7 +87,7 @@
 {
     0, 0, &listen_cs,
     { &listen_cs_debug.ProcessLocksList, &listen_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": listen_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": listen_cs") }
 };
 static CRITICAL_SECTION listen_cs = { &listen_cs_debug, -1, 0, 0, 0, 0 };
 
@@ -109,7 +109,7 @@
 {
     0, 0, &spacket_cs,
     { &spacket_cs_debug.ProcessLocksList, &spacket_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": spacket_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": spacket_cs") }
 };
 static CRITICAL_SECTION spacket_cs = { &spacket_cs_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c
index 20f7e6f..93de08f 100644
--- a/dlls/rpcrt4/rpcrt4_main.c
+++ b/dlls/rpcrt4/rpcrt4_main.c
@@ -129,7 +129,7 @@
 {
     0, 0, &uuid_cs,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": uuid_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": uuid_cs") }
 };
 static CRITICAL_SECTION uuid_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/shell32/changenotify.c b/dlls/shell32/changenotify.c
index 9cbded9..745f12f 100644
--- a/dlls/shell32/changenotify.c
+++ b/dlls/shell32/changenotify.c
@@ -36,7 +36,7 @@
 {
     0, 0, &SHELL32_ChangenotifyCS,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": SHELL32_ChangenotifyCS") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": SHELL32_ChangenotifyCS") }
 };
 static CRITICAL_SECTION SHELL32_ChangenotifyCS = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/shell32/iconcache.c b/dlls/shell32/iconcache.c
index 160d1eb..fcae9a3 100644
--- a/dlls/shell32/iconcache.c
+++ b/dlls/shell32/iconcache.c
@@ -67,7 +67,7 @@
 {
     0, 0, &SHELL32_SicCS,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": SHELL32_SicCS") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": SHELL32_SicCS") }
 };
 static CRITICAL_SECTION SHELL32_SicCS = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/user/cursoricon.c b/dlls/user/cursoricon.c
index af4c832..e2de02e 100644
--- a/dlls/user/cursoricon.c
+++ b/dlls/user/cursoricon.c
@@ -127,7 +127,7 @@
 {
     0, 0, &IconCrst,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": IconCrst") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": IconCrst") }
 };
 static CRITICAL_SECTION IconCrst = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/user/dde_misc.c b/dlls/user/dde_misc.c
index 7185435..6becff7 100644
--- a/dlls/user/dde_misc.c
+++ b/dlls/user/dde_misc.c
@@ -55,7 +55,7 @@
 {
     0, 0, &WDML_CritSect,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": WDML_CritSect") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": WDML_CritSect") }
 };
 CRITICAL_SECTION WDML_CritSect = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/user/message.c b/dlls/user/message.c
index a976890..5e8f5b5 100644
--- a/dlls/user/message.c
+++ b/dlls/user/message.c
@@ -1203,7 +1203,7 @@
 {
     0, 0, &dde_crst,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": dde_crst") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": dde_crst") }
 };
 static CRITICAL_SECTION dde_crst = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/user/user_main.c b/dlls/user/user_main.c
index 73d92ec..ab5e67e 100644
--- a/dlls/user/user_main.c
+++ b/dlls/user/user_main.c
@@ -43,7 +43,7 @@
 {
     0, 0, &USER_SysLevel.crst,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": USER_SysLevel") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": USER_SysLevel") }
 };
 static SYSLEVEL USER_SysLevel = { { &critsect_debug, -1, 0, 0, 0, 0 }, 2 };
 
diff --git a/dlls/user/winproc.c b/dlls/user/winproc.c
index fbd7150..8bec671 100644
--- a/dlls/user/winproc.c
+++ b/dlls/user/winproc.c
@@ -129,7 +129,7 @@
 {
     0, 0, &winproc_cs,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": winproc_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": winproc_cs") }
 };
 static CRITICAL_SECTION winproc_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/winaspi/winaspi32.c b/dlls/winaspi/winaspi32.c
index e0b4af9..ddcccbb 100644
--- a/dlls/winaspi/winaspi32.c
+++ b/dlls/winaspi/winaspi32.c
@@ -59,7 +59,7 @@
 {
     0, 0, &ASPI_CritSection,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": ASPI_CritSection") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": ASPI_CritSection") }
 };
 static CRITICAL_SECTION ASPI_CritSection = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/winedos/dosvm.c b/dlls/winedos/dosvm.c
index 09caa5a..9adf72d 100644
--- a/dlls/winedos/dosvm.c
+++ b/dlls/winedos/dosvm.c
@@ -81,7 +81,7 @@
 {
     0, 0, &qcrit,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": qcrit") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": qcrit") }
 };
 static CRITICAL_SECTION qcrit = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/winedos/vga.c b/dlls/winedos/vga.c
index 0883cf9..9eb7447 100644
--- a/dlls/winedos/vga.c
+++ b/dlls/winedos/vga.c
@@ -147,7 +147,7 @@
 {
     0, 0, &vga_lock,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": vga_lock") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": vga_lock") }
 };
 static CRITICAL_SECTION vga_lock = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index a4a364b..d1f8711 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -109,7 +109,7 @@
 {
     0, 0, &WININET_cs,
     { &WININET_cs_debug.ProcessLocksList, &WININET_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": WININET_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": WININET_cs") }
 };
 static CRITICAL_SECTION WININET_cs = { &WININET_cs_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/winmm/winealsa/midi.c b/dlls/winmm/winealsa/midi.c
index 7375046..c815ecb 100644
--- a/dlls/winmm/winealsa/midi.c
+++ b/dlls/winmm/winealsa/midi.c
@@ -102,7 +102,7 @@
 {
     0, 0, &crit_sect,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": crit_sect") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": crit_sect") }
 };
 static CRITICAL_SECTION crit_sect = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/winmm/wineoss/audio.c b/dlls/winmm/wineoss/audio.c
index 197fdc7..ca7cdd6 100644
--- a/dlls/winmm/wineoss/audio.c
+++ b/dlls/winmm/wineoss/audio.c
@@ -1176,7 +1176,7 @@
     omr->ring_buffer_size = OSS_RING_BUFFER_INCREMENT;
     omr->messages = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,omr->ring_buffer_size * sizeof(OSS_MSG));
     InitializeCriticalSection(&omr->msg_crst);
-    omr->msg_crst.DebugInfo->Spare[1] = (DWORD)"WINEOSS_msg_crst";
+    omr->msg_crst.DebugInfo->Spare[0] = (DWORD_PTR)"WINEOSS_msg_crst";
     return 0;
 }
 
diff --git a/dlls/winmm/wineoss/midi.c b/dlls/winmm/wineoss/midi.c
index 142c6a4..6dc9f7a 100644
--- a/dlls/winmm/wineoss/midi.c
+++ b/dlls/winmm/wineoss/midi.c
@@ -126,7 +126,7 @@
 {
     0, 0, &crit_sect,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": crit_sect") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": crit_sect") }
 };
 static CRITICAL_SECTION crit_sect = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c
index a5d1c20..fdaa870 100644
--- a/dlls/winmm/winmm.c
+++ b/dlls/winmm/winmm.c
@@ -76,7 +76,7 @@
 
     WINMM_IData.hWinMM32Instance = hInstDLL;
     InitializeCriticalSection(&WINMM_IData.cs);
-    WINMM_IData.cs.DebugInfo->Spare[1] = (DWORD)"WINMM_IData";
+    WINMM_IData.cs.DebugInfo->Spare[0] = (DWORD_PTR)"WINMM_IData";
     WINMM_IData.psStopEvent = CreateEventW(NULL, TRUE, FALSE, NULL);
     WINMM_IData.psLastEvent = CreateEventW(NULL, TRUE, FALSE, NULL);
     TRACE("Initialized IData (%p)\n", &WINMM_IData);
diff --git a/dlls/winsock/async.c b/dlls/winsock/async.c
index 7d16b12..c7d4887 100644
--- a/dlls/winsock/async.c
+++ b/dlls/winsock/async.c
@@ -121,7 +121,7 @@
 {
     0, 0, &csWSgetXXXbyYYY,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": csWSgetXXXbyYYY") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": csWSgetXXXbyYYY") }
 };
 CRITICAL_SECTION csWSgetXXXbyYYY = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/winspool/info.c b/dlls/winspool/info.c
index d5af30a..8fe286c 100644
--- a/dlls/winspool/info.c
+++ b/dlls/winspool/info.c
@@ -69,7 +69,7 @@
 {
     0, 0, &printer_handles_cs,
     { &printer_handles_cs_debug.ProcessLocksList, &printer_handles_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": printer_handles_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": printer_handles_cs") }
 };
 static CRITICAL_SECTION printer_handles_cs = { &printer_handles_cs_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/x11drv/dce.c b/dlls/x11drv/dce.c
index 2dd1dd9..1c74d81 100644
--- a/dlls/x11drv/dce.c
+++ b/dlls/x11drv/dce.c
@@ -57,7 +57,7 @@
 {
     0, 0, &dce_section,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": dce_section") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": dce_section") }
 };
 static CRITICAL_SECTION dce_section = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/x11drv/dib.c b/dlls/x11drv/dib.c
index 22fdbf7..7811764 100644
--- a/dlls/x11drv/dib.c
+++ b/dlls/x11drv/dib.c
@@ -51,7 +51,7 @@
 {
     0, 0, &dibs_cs,
     { &dibs_cs_debug.ProcessLocksList, &dibs_cs_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": dibs_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": dibs_cs") }
 };
 static CRITICAL_SECTION dibs_cs = { &dibs_cs_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/x11drv/x11drv_main.c b/dlls/x11drv/x11drv_main.c
index 64ef23c..c23e33f 100644
--- a/dlls/x11drv/x11drv_main.c
+++ b/dlls/x11drv/x11drv_main.c
@@ -57,7 +57,7 @@
 {
     0, 0, &X11DRV_CritSection,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": X11DRV_CritSection") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": X11DRV_CritSection") }
 };
 static CRITICAL_SECTION X11DRV_CritSection = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/x11drv/xdnd.c b/dlls/x11drv/xdnd.c
index f0b8c2a..02e0459 100644
--- a/dlls/x11drv/xdnd.c
+++ b/dlls/x11drv/xdnd.c
@@ -73,7 +73,7 @@
 {
     0, 0, &xdnd_cs,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": xdnd_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": xdnd_cs") }
 };
 static CRITICAL_SECTION xdnd_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/x11drv/xfont.c b/dlls/x11drv/xfont.c
index ebfb1d1..1a8ea56 100644
--- a/dlls/x11drv/xfont.c
+++ b/dlls/x11drv/xfont.c
@@ -325,7 +325,7 @@
 {
     0, 0, &crtsc_fonts_X11,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": crtsc_fonts_X11") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": crtsc_fonts_X11") }
 };
 static CRITICAL_SECTION crtsc_fonts_X11 = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/dlls/x11drv/xrender.c b/dlls/x11drv/xrender.c
index b240c9a..5b720a2 100644
--- a/dlls/x11drv/xrender.c
+++ b/dlls/x11drv/xrender.c
@@ -137,7 +137,7 @@
 {
     0, 0, &xrender_cs,
     { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
-      0, 0, { 0, (DWORD)(__FILE__ ": xrender_cs") }
+      0, 0, { (DWORD_PTR)(__FILE__ ": xrender_cs") }
 };
 static CRITICAL_SECTION xrender_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
 
diff --git a/include/winnt.h b/include/winnt.h
index 9858433..8ffb690 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -3985,7 +3985,11 @@
   LIST_ENTRY ProcessLocksList;
   DWORD EntryCount;
   DWORD ContentionCount;
+#ifdef __WINESRC__  /* in Wine we store the name here */
+  DWORD_PTR Spare[8/sizeof(DWORD_PTR)];
+#else
   DWORD Spare[ 2 ];
+#endif
 } RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG;
 
 typedef struct _RTL_CRITICAL_SECTION {