source: trunk/src/kernel32/hmthread.h@ 3128

Last change on this file since 3128 was 3128, checked in by sandervl, 25 years ago

handlemanager support for thread handles + WaitForSingleObject (thread) fix

File size: 2.1 KB
Line 
1/* $Id: hmthread.h,v 1.1 2000-03-16 19:21:54 sandervl Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 *
6 * Win32 thread handle class
7 *
8 * Copyright 2000 Sander van Leeuwen (sandervl@xs4all.nl)
9 *
10 */
11
12#ifndef __HMTHREAD_H__
13#define __HMTHREAD_H__
14
15#include "HMDevice.h"
16#include "HMOpen32.h"
17
18#define THREAD_TERMINATED 0
19#define THREAD_ALIVE 1
20
21class HMDeviceThreadClass : public HMDeviceOpen32Class
22{
23public:
24 HMDeviceThreadClass(LPCSTR lpDeviceName) : HMDeviceOpen32Class(lpDeviceName) {}
25
26 virtual HANDLE CreateThread(PHMHANDLEDATA pHMHandleData,
27 LPSECURITY_ATTRIBUTES lpsa,
28 DWORD cbStack,
29 LPTHREAD_START_ROUTINE lpStartAddr,
30 LPVOID lpvThreadParm,
31 DWORD fdwCreate,
32 LPDWORD lpIDThread);
33
34 /* this is a handler method for calls to WaitForSingleObject */
35 virtual DWORD WaitForSingleObject(PHMHANDLEDATA pHMHandleData,
36 DWORD dwTimeout);
37
38 /* this is a handler method for calls to WaitForSingleObjectEx */
39 virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData,
40 DWORD dwTimeout,
41 BOOL fAlertable);
42
43 virtual INT GetThreadPriority(PHMHANDLEDATA pHMHandleData);
44 virtual DWORD SuspendThread(PHMHANDLEDATA pHMHandleData);
45 virtual BOOL SetThreadPriority(PHMHANDLEDATA pHMHandleData, int priority);
46
47 virtual BOOL GetThreadContext(PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext);
48 virtual BOOL SetThreadContext(PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext);
49
50 virtual BOOL TerminateThread(PHMHANDLEDATA pHMHandleData, DWORD exitcode);
51 virtual DWORD ResumeThread(PHMHANDLEDATA pHMHandleData);
52 virtual BOOL GetExitCodeThread(PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode);
53 virtual BOOL SetThreadTerminated(PHMHANDLEDATA pHMHandleData);
54
55 virtual DWORD CloseHandle(PHMHANDLEDATA pHMHandleData);
56};
57
58
59#endif // __HMTHREAD_H__
Note: See TracBrowser for help on using the repository browser.