Added basic working stubs of new Windows 2000 API functions.
diff --git a/scheduler/critsection.c b/scheduler/critsection.c
index dabc37c..585ffce 100644
--- a/scheduler/critsection.c
+++ b/scheduler/critsection.c
@@ -28,6 +28,29 @@
}
/***********************************************************************
+ * InitializeCriticalSectionAndSpinCount (KERNEL32)
+ */
+BOOL WINAPI InitializeCriticalSectionAndSpinCount( CRITICAL_SECTION *crit, DWORD spincount )
+{
+ NTSTATUS ret = RtlInitializeCriticalSectionAndSpinCount( crit, spincount );
+ if (ret) RtlRaiseStatus( ret );
+ return !ret;
+}
+
+/***********************************************************************
+ * SetCriticalSectionSpinCount (KERNEL32)
+ * This function is available on NT4SP3 or later, but not Win98
+ * It is SMP related
+ */
+DWORD WINAPI SetCriticalSectionSpinCount( CRITICAL_SECTION *crit, DWORD spincount )
+{
+ ULONG_PTR oldspincount = crit->SpinCount;
+ if(spincount) FIXME("critsection=%p: spincount=%ld not supported\n", crit, spincount);
+ crit->SpinCount = spincount;
+ return oldspincount;
+}
+
+/***********************************************************************
* MakeCriticalSectionGlobal (KERNEL32.515)
*/
void WINAPI MakeCriticalSectionGlobal( CRITICAL_SECTION *crit )
diff --git a/scheduler/thread.c b/scheduler/thread.c
index debf4fa..9647432 100644
--- a/scheduler/thread.c
+++ b/scheduler/thread.c
@@ -844,6 +844,20 @@
}
+/***********************************************************************
+ * ProcessIdToSessionId (KERNEL32)
+ * This function is available on Terminal Server 4SP4 and Windows 2000
+ */
+BOOL WINAPI ProcessIdToSessionId( DWORD procid, DWORD *sessionid_ptr )
+{
+ /* According to MSDN, if the calling process is not in a terminal
+ * services environment, then the sessionid returned is zero.
+ */
+ *sessionid_ptr = 0;
+ return TRUE;
+}
+
+
#ifdef __i386__
/* void WINAPI SetLastError( DWORD error ); */