source: trunk/src/kernel32/hmfilemapping.cpp@ 659

Last change on this file since 659 was 659, checked in by phaller, 26 years ago

Add: HandleManager support for memory mapped files

File size: 9.4 KB
Line 
1/* $Id: hmfilemapping.cpp,v 1.1 1999-08-24 14:36:05 phaller Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 * Win32 Unified Handle Manager for OS/2
6 * Copyright 1999 Patrick Haller (haller@zebra.fh-weingarten.de)
7 */
8
9#undef DEBUG_LOCAL
10//#define DEBUG_LOCAL
11
12
13/*****************************************************************************
14 * Remark *
15 *****************************************************************************
16
17 */
18
19
20/*****************************************************************************
21 * Includes *
22 *****************************************************************************/
23
24#include <os2win.h>
25#include <stdlib.h>
26#include <string.h>
27#include "unicode.h"
28#include "misc.h"
29
30#include "HandleManager.H"
31#include "HMFileMapping.h"
32
33
34/*****************************************************************************
35 * Defines *
36 *****************************************************************************/
37
38/*****************************************************************************
39 * Structures *
40 *****************************************************************************/
41
42/*****************************************************************************
43 * Local Prototypes *
44 *****************************************************************************/
45
46
47/*****************************************************************************
48 * Name : DWORD HMDeviceFileMappingClass::findByBaseAddress
49 * Purpose : file memory mapped object by base address
50 * Parameters: LPVOID lpBaseAddress
51 * Variables :
52 * Result : index in Handlemanager handle table
53 * Remark :
54 * Status :
55 *
56 * Author : Patrick Haller [Wed, 1999/06/17 20:44]
57 *****************************************************************************/
58
59int HMDeviceFileMappingClass::findByBaseAddress(LPVOID lpBaseAddress)
60{
61 dprintf(("KERNEL32: HandleManager::FileMapping::findByBaseAddress(%08xh)\n",
62 lpBaseAddress));
63
64 return(-1); // not found
65}
66
67
68
69/*****************************************************************************
70 * Name : DWORD HMDeviceFileMappingClass::CreateFileMapping
71 * Purpose : create memory mapped file
72 * Parameters: PHMHANDLEDATA pHMHandleData
73 * LPSECURITY_ATTRIBUTES lpFileMappingAttributes
74 * DWORD flProtect
75 * DWORD dwMaximumSizeHigh
76 * DWORD dwMaximumSizeLow
77 * LPCTSTR lpName
78 * Variables :
79 * Result : API returncode
80 * Remark :
81 * Status :
82 *
83 * Author : Patrick Haller [Wed, 1999/06/17 20:44]
84 *****************************************************************************/
85
86DWORD HMDeviceFileMappingClass::CreateFileMapping(PHMHANDLEDATA pHMHandleData,
87 HANDLE hFile,
88 LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
89 DWORD flProtect,
90 DWORD dwMaximumSizeHigh,
91 DWORD dwMaximumSizeLow,
92 LPCTSTR lpName)
93{
94 dprintf(("KERNEL32: HandleManager::FileMapping::CreateFileMapping(%08xh,%08xh,%08xh,%08xh,%08xh,%08xh,%s)\n",
95 pHMHandleData->hHMHandle,
96 hFile,
97 lpFileMappingAttributes,
98 flProtect,
99 dwMaximumSizeHigh,
100 dwMaximumSizeLow,
101 lpName));
102
103 return(ERROR_INVALID_FUNCTION);
104}
105
106
107/*****************************************************************************
108 * Name : DWORD HMDeviceFileMappingClass::OpenFileMapping
109 * Purpose : open memory mapped file
110 * Parameters: PHMHANDLEDATA pHMHandleData
111 * LPOVERLAPPED arg2
112 * LPDWORD arg3
113 * BOOL arg4
114 * Variables :
115 * Result : API returncode
116 * Remark :
117 * Status :
118 *
119 * Author : Patrick Haller [Wed, 1999/06/17 20:44]
120 *****************************************************************************/
121
122DWORD HMDeviceFileMappingClass::OpenFileMapping(PHMHANDLEDATA pHMHandleData,
123 BOOL fInherit,
124 LPCTSTR lpName)
125{
126 dprintf(("KERNEL32: HandleManager::FileMapping::OpenFileMapping(%08xh,%08xh,%08xh)\n",
127 pHMHandleData->hHMHandle,
128 fInherit,
129 lpName));
130
131 return(ERROR_INVALID_FUNCTION);
132}
133
134
135/*****************************************************************************
136 * Name : DWORD HMDeviceFileMappingClass::MapViewOfFile
137 * Purpose : map memory mapped file
138 * Parameters: PHMHANDLEDATA pHMHandleData
139 * DWORD dwDesiredAccess,
140 * DWORD dwFileOffsetHigh,
141 * DWORD dwFileOffsetLow,
142 * DWORD dwNumberOfBytesToMap
143 * Variables :
144 * Result : address to memory mapped region
145 * Remark :
146 * Status :
147 *
148 * Author : Patrick Haller [Wed, 1999/06/17 20:44]
149 *****************************************************************************/
150
151LPVOID HMDeviceFileMappingClass::MapViewOfFile(PHMHANDLEDATA pHMHandleData,
152 DWORD dwDesiredAccess,
153 DWORD dwFileOffsetHigh,
154 DWORD dwFileOffsetLow,
155 DWORD dwNumberOfBytesToMap)
156{
157 dprintf(("KERNEL32: HandleManager::FileMapping::MapViewOfFile(%08xh,%08xh,%08xh,%08xh,%08xh)\n",
158 pHMHandleData->hHMHandle,
159 dwDesiredAccess,
160 dwFileOffsetHigh,
161 dwFileOffsetLow,
162 dwNumberOfBytesToMap));
163
164 return(NULL);
165}
166
167
168/*****************************************************************************
169 * Name : DWORD HMDeviceFileMappingClass::MapViewOfFileEx
170 * Purpose : map memory mapped file
171 * Parameters: PHMHANDLEDATA pHMHandleData
172 * DWORD dwDesiredAccess,
173 * DWORD dwFileOffsetHigh,
174 * DWORD dwFileOffsetLow,
175 * DWORD dwNumberOfBytesToMap
176 * LPVOID lpBaseAddress
177 * Variables :
178 * Result : address to memory mapped region
179 * Remark :
180 * Status :
181 *
182 * Author : Patrick Haller [Wed, 1999/06/17 20:44]
183 *****************************************************************************/
184
185LPVOID HMDeviceFileMappingClass::MapViewOfFileEx(PHMHANDLEDATA pHMHandleData,
186 DWORD dwDesiredAccess,
187 DWORD dwFileOffsetHigh,
188 DWORD dwFileOffsetLow,
189 DWORD dwNumberOfBytesToMap,
190 LPVOID lpBaseAddress)
191{
192 dprintf(("KERNEL32: HandleManager::FileMapping::MapViewOfFileEx(%08xh,%08xh,%08xh,%08xh,%08xh,%08xh)\n",
193 pHMHandleData->hHMHandle,
194 dwDesiredAccess,
195 dwFileOffsetHigh,
196 dwFileOffsetLow,
197 dwNumberOfBytesToMap,
198 lpBaseAddress));
199
200 return(NULL);
201}
202
203
204/*****************************************************************************
205 * Name : DWORD HMDeviceFileMappingClass::UnmapViewOfFile
206 * Purpose : unmap memory mapped file
207 * Parameters: PHMHANDLEDATA pHMHandleData
208 * LPVOID lpBaseAddress
209 * Variables :
210 * Result : TRUE / FALSE
211 * Remark :
212 * Status :
213 *
214 * Author : Patrick Haller [Wed, 1999/06/17 20:44]
215 *****************************************************************************/
216
217BOOL HMDeviceFileMappingClass::UnmapViewOfFile(PHMHANDLEDATA pHMHandleData,
218 LPVOID lpBaseAddress)
219{
220 dprintf(("KERNEL32: HandleManager::FileMapping::UnmapViewOfFile(%08xh,%08xh)\n",
221 pHMHandleData->hHMHandle,
222 lpBaseAddress));
223
224 return(FALSE);
225}
226
227
228/*****************************************************************************
229 * Name : DWORD HMDeviceFileMappingClass::FlushViewOfFile
230 * Purpose : flush memory mapped file
231 * Parameters: PHMHANDLEDATA pHMHandleData
232 * LPVOID lpBaseAddress
233 * DWORD dwNumberOfBytesToFlush
234 * Variables :
235 * Result : TRUE / FALSE
236 * Remark :
237 * Status :
238 *
239 * Author : Patrick Haller [Wed, 1999/06/17 20:44]
240 *****************************************************************************/
241
242BOOL HMDeviceFileMappingClass::FlushViewOfFile(PHMHANDLEDATA pHMHandleData,
243 LPVOID lpBaseAddress,
244 DWORD dwNumberOfBytesToFlush)
245{
246 dprintf(("KERNEL32: HandleManager::FileMapping::FlushViewOfFile(%08xh,%08xh,%08xh)\n",
247 pHMHandleData->hHMHandle,
248 lpBaseAddress,
249 dwNumberOfBytesToFlush));
250
251 return(FALSE);
252}
253
254
Note: See TracBrowser for help on using the repository browser.