-#define _WIN32_WINNT 0x0501
+#define _WIN32_WINNT 0x0502
#define __USE_W32API
#define NTOS_MODE_USER
#define __NO_CTYPE_INLINES
GetProcessHeap@0
GetProcessHeaps@8
GetProcessId@4
+GetProcessIdOfThread@4
GetProcessIoCounters@8
GetProcessPriorityBoost@8
GetProcessShutdownParameters@8
GetTempPathA@8
GetTempPathW@8
GetThreadContext@8
+GetThreadId@4
GetThreadIOPendingFlag@8
GetThreadLocale@0
GetThreadPriority@4
-/* $Id: handle.c,v 1.18 2004/10/24 12:36:12 weiden Exp $
+/* $Id: handle.c,v 1.19 2004/11/02 21:51:25 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
if (IsConsoleHandle(hSourceHandle))
{
- if (FALSE == InternalGetProcessId(hSourceProcessHandle, &SourceProcessId) ||
- FALSE == InternalGetProcessId(hTargetProcessHandle, &TargetProcessId) ||
+ SourceProcessId = GetProcessId(hSourceProcessHandle);
+ TargetProcessId = GetProcessId(hTargetProcessHandle);
+ if (!SourceProcessId || !TargetProcessId ||
SourceProcessId != TargetProcessId ||
SourceProcessId != GetCurrentProcessId())
{
-/* $Id: proc.c,v 1.70 2004/10/19 10:27:11 weiden Exp $
+/* $Id: proc.c,v 1.71 2004/11/02 21:51:25 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
VOID STDCALL
RegisterWaitForInputIdle(WaitForInputIdleType lpfnRegisterWaitForInputIdle);
-BOOL STDCALL
-InternalGetProcessId (HANDLE hProcess, LPDWORD lpProcessId);
-
-
/* FUNCTIONS ****************************************************************/
/*
/*
* @implemented
*/
-BOOL STDCALL
-InternalGetProcessId(HANDLE hProcess,
- LPDWORD lpProcessId)
+DWORD
+STDCALL
+GetProcessId(HANDLE Process)
{
PROCESS_BASIC_INFORMATION ProcessBasic;
NTSTATUS Status;
- Status = NtQueryInformationProcess(hProcess,
+ Status = NtQueryInformationProcess(Process,
ProcessBasicInformation,
&ProcessBasic,
sizeof(PROCESS_BASIC_INFORMATION),
NULL);
if (!NT_SUCCESS(Status))
- {
- SetLastErrorByStatus(Status);
- return(FALSE);
- }
-
- memcpy(lpProcessId, &ProcessBasic.UniqueProcessId, sizeof(DWORD));
-
- return(TRUE);
-}
-
-
-/*
- * @implemented
- */
-DWORD
-STDCALL
-GetProcessId(HANDLE Process)
-{
- DWORD ProcessId;
-
- if(!InternalGetProcessId(Process, &ProcessId))
{
+ SetLastErrorByStatus(Status);
return 0;
}
- return ProcessId;
+
+ return ProcessBasic.UniqueProcessId;
}
-/* $Id: thread.c,v 1.55 2004/11/02 20:42:06 weiden Exp $
+/* $Id: thread.c,v 1.56 2004/11/02 21:51:25 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
return dwIdealProcessor;
}
+
+/*
+ * @implemented
+ */
+DWORD STDCALL
+GetProcessIdOfThread(HANDLE Thread)
+{
+ THREAD_BASIC_INFORMATION ThreadBasic;
+ NTSTATUS Status;
+
+ Status = NtQueryInformationThread(Thread,
+ ThreadBasicInformation,
+ &ThreadBasic,
+ sizeof(THREAD_BASIC_INFORMATION),
+ NULL);
+ if(!NT_SUCCESS(Status))
+ {
+ SetLastErrorByStatus(Status);
+ return 0;
+ }
+
+ return (DWORD)ThreadBasic.ClientId.UniqueProcess;
+}
+
+
+/*
+ * @implemented
+ */
+DWORD STDCALL
+GetThreadId(HANDLE Thread)
+{
+ THREAD_BASIC_INFORMATION ThreadBasic;
+ NTSTATUS Status;
+
+ Status = NtQueryInformationThread(Thread,
+ ThreadBasicInformation,
+ &ThreadBasic,
+ sizeof(THREAD_BASIC_INFORMATION),
+ NULL);
+ if(!NT_SUCCESS(Status))
+ {
+ SetLastErrorByStatus(Status);
+ return 0;
+ }
+
+ return (DWORD)ThreadBasic.ClientId.UniqueThread;
+}
+
/*
* @unimplemented
*/