source: trunk/src/kernel32/hmopen32.h@ 3588

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

GetFileTime bugfix + FindResource(Ex)A/W changes + setup thread security objects during creation

File size: 7.5 KB
Line 
1/* $Id: hmopen32.h,v 1.5 2000-05-22 19:07:56 sandervl Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 * Win32 Unified Handle Manager for OS/2
6 * 1999/06/17 PH Patrick Haller (phaller@gmx.net)
7 */
8
9#ifndef _HM_DEVICE_OPEN32_H_
10#define _HM_DEVICE_OPEN32_H_
11
12
13/*****************************************************************************
14 * Remark *
15 *****************************************************************************
16 */
17
18
19/*****************************************************************************
20 * Includes *
21 *****************************************************************************/
22
23#include "HMDevice.h"
24
25/*****************************************************************************
26 * Structures *
27 *****************************************************************************/
28
29class HMDeviceOpen32Class : public HMDeviceHandler
30{
31public:
32 HMDeviceOpen32Class(LPCSTR lpDeviceName) : HMDeviceHandler(lpDeviceName) {}
33
34
35 /* this is a special internal method to handle non-standard requests */
36 /* such as GetConsoleMode() for console devices */
37 virtual DWORD _DeviceRequest (PHMHANDLEDATA pHMHandleData,
38 ULONG ulRequestCode,
39 ULONG arg1,
40 ULONG arg2,
41 ULONG arg3,
42 ULONG arg4);
43
44 virtual BOOL DuplicateHandle(PHMHANDLEDATA pHMHandleData, HANDLE srcprocess,
45 PHMHANDLEDATA pHMSrcHandle,
46 HANDLE destprocess,
47 PHANDLE desthandle,
48 DWORD fdwAccess,
49 BOOL fInherit,
50 DWORD fdwOptions);
51
52 /* this is a handler method for calls to CreateFile() */
53 virtual DWORD CreateFile (LPCSTR lpFileName,
54 PHMHANDLEDATA pHMHandleData,
55 PVOID lpSecurityAttributes,
56 PHMHANDLEDATA pHMHandleDataTemplate);
57
58 /* this is a handler method for calls to OpenFile() */
59 virtual DWORD OpenFile (LPCSTR lpFileName,
60 PHMHANDLEDATA pHMHandleData,
61 OFSTRUCT* pOFStruct,
62 UINT fuMode);
63
64 /* this is a handler method for calls to CloseHandle() */
65 virtual DWORD CloseHandle(PHMHANDLEDATA pHMHandleData);
66
67 /* this is a handler method for calls to ReadFile() */
68 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
69 LPCVOID lpBuffer,
70 DWORD nNumberOfBytesToRead,
71 LPDWORD lpNumberOfBytesRead,
72 LPOVERLAPPED lpOverlapped);
73
74 /* this is a handler method for calls to WriteFile() */
75 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
76 LPCVOID lpBuffer,
77 DWORD nNumberOfBytesToWrite,
78 LPDWORD lpNumberOfBytesWritten,
79 LPOVERLAPPED lpOverlapped);
80
81 /* this is a handler method for calls to GetFileType() */
82 virtual DWORD GetFileType (PHMHANDLEDATA pHMHandleData);
83
84 /* this is a handler method for calls to GetFileInformationByHandle() */
85 virtual DWORD GetFileInformationByHandle(PHMHANDLEDATA pHMHandleData,
86 BY_HANDLE_FILE_INFORMATION* pHFI);
87
88 /* this is a handler method for calls to SetEndOfFile() */
89 virtual BOOL SetEndOfFile(PHMHANDLEDATA pHMHandleData);
90
91 /* this is a handler method for calls to SetFileTime() */
92 virtual BOOL SetFileTime (PHMHANDLEDATA pHMHandleData,
93 LPFILETIME pFT1,
94 LPFILETIME pFT2,
95 LPFILETIME pFT3);
96
97 /* this is a handler method for calls to GetFileTime() */
98 virtual BOOL GetFileTime (PHMHANDLEDATA pHMHandleData,
99 LPFILETIME pFT1,
100 LPFILETIME pFT2,
101 LPFILETIME pFT3);
102
103 /* this is a handler method for calls to GetFileSize() */
104 virtual DWORD GetFileSize(PHMHANDLEDATA pHMHandleData,
105 PDWORD pSizeHigh);
106
107 /* this is a handler method for calls to SetFilePointer() */
108 virtual DWORD SetFilePointer(PHMHANDLEDATA pHMHandleData,
109 LONG lDistanceToMove,
110 PLONG lpDistanceToMoveHigh,
111 DWORD dwMoveMethod);
112
113 /* this is a handler method for calls to LockFile() */
114 virtual DWORD LockFile(PHMHANDLEDATA pHMHandleData,
115 DWORD arg2,
116 DWORD arg3,
117 DWORD arg4,
118 DWORD arg5);
119
120 /* this is a handler method for calls to LockFileEx() */
121 virtual DWORD LockFileEx(PHMHANDLEDATA pHMHandleData,
122 DWORD dwFlags,
123 DWORD dwReserved,
124 DWORD nNumberOfBytesToLockLow,
125 DWORD nNumberOfBytesToLockHigh,
126 LPOVERLAPPED lpOverlapped);
127
128 /* this is a handler method for calls to UnlockFile() */
129 virtual DWORD UnlockFile(PHMHANDLEDATA pHMHandleData,
130 DWORD arg2,
131 DWORD arg3,
132 DWORD arg4,
133 DWORD arg5);
134
135 /* this is a handler method for calls to UnlockFileEx() */
136 virtual DWORD UnlockFileEx(PHMHANDLEDATA pHMHandleData,
137 DWORD dwFlags,
138 DWORD dwReserved,
139 DWORD nNumberOfBytesToLockLow,
140 DWORD nNumberOfBytesToLockHigh,
141 LPOVERLAPPED lpOverlapped);
142
143 /* this is a handler method for calls to WaitForSingleObject */
144 virtual DWORD WaitForSingleObject (PHMHANDLEDATA pHMHandleData,
145 DWORD dwTimeout);
146
147 /* this is a handler method for calls to WaitForSingleObjectEx */
148 virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData,
149 DWORD dwTimeout,
150 BOOL fAlertable);
151
152 /* this is a handler method for calls to FlushFileBuffers */
153 virtual BOOL FlushFileBuffers(PHMHANDLEDATA pHMHandleData);
154
155 /* this is a handler method for calls to GetOverlappedResult */
156 virtual BOOL GetOverlappedResult(PHMHANDLEDATA pHMHandleData,
157 LPOVERLAPPED arg2,
158 LPDWORD arg3,
159 BOOL arg4);
160};
161
162
163#endif /* _HM_DEVICE_OPEN32_H_ */
164
Note: See TracBrowser for help on using the repository browser.