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

Last change on this file since 5587 was 5587, checked in by sandervl, 24 years ago

added mailslot implemenation, named pipe fixes + FreeLibraryAndExitThread

File size: 2.2 KB
Line 
1/* $Id: hmthread.h,v 1.3 2001-04-26 13:22:47 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 BOOL fFirstThread);
34
35 /* this is a handler method for calls to WaitForSingleObject */
36 virtual DWORD WaitForSingleObject(PHMHANDLEDATA pHMHandleData,
37 DWORD dwTimeout);
38
39 /* this is a handler method for calls to WaitForSingleObjectEx */
40 virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData,
41 DWORD dwTimeout,
42 BOOL fAlertable);
43
44 virtual INT GetThreadPriority(PHMHANDLEDATA pHMHandleData);
45 virtual DWORD SuspendThread(PHMHANDLEDATA pHMHandleData);
46 virtual BOOL SetThreadPriority(PHMHANDLEDATA pHMHandleData, int priority);
47
48 virtual BOOL GetThreadContext(PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext);
49 virtual BOOL SetThreadContext(PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext);
50
51 virtual BOOL TerminateThread(PHMHANDLEDATA pHMHandleData, DWORD exitcode);
52 virtual DWORD ResumeThread(PHMHANDLEDATA pHMHandleData);
53 virtual BOOL GetExitCodeThread(PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode);
54 virtual BOOL SetThreadTerminated(PHMHANDLEDATA pHMHandleData);
55
56 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
57};
58
59
60#endif // __HMTHREAD_H__
Note: See TracBrowser for help on using the repository browser.