source: trunk/src/kernel32/hmnul.h@ 10367

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

preliminary changes for new overlapped io framework

File size: 2.2 KB
Line 
1/* $Id: hmnul.h,v 1.2 2001-12-05 14:16:03 sandervl Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 *
6 * Win32 NUL device access class
7 *
8 * 2001 Patrick Haller <patrick.haller@innotek.de>
9 *
10 */
11
12#ifndef _HM_NUL_H_
13#define _HM_NUL_H_
14
15class HMDeviceNulClass : public HMDeviceHandler
16{
17 public:
18
19 HMDeviceNulClass(LPCSTR lpDeviceName);
20
21 //checks if device name belongs to this class
22 virtual BOOL FindDevice(LPCSTR lpClassDevName, LPCSTR lpDeviceName, int namelength);
23
24 /* this is the handler method for calls to CreateFile() */
25 virtual DWORD CreateFile (LPCSTR lpFileName,
26 PHMHANDLEDATA pHMHandleData,
27 PVOID lpSecurityAttributes,
28 PHMHANDLEDATA pHMHandleDataTemplate);
29
30 /* this is the handler method for calls to CloseHandle() */
31 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
32
33 /* this is a handler method for calls to DeviceIoControl() */
34 virtual BOOL DeviceIoControl (PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
35 LPVOID lpInBuffer, DWORD nInBufferSize,
36 LPVOID lpOutBuffer, DWORD nOutBufferSize,
37 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
38
39
40 /* this is a handler method for calls to ReadFile/Ex */
41 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
42 LPCVOID lpBuffer,
43 DWORD nNumberOfBytesToRead,
44 LPDWORD lpNumberOfBytesRead,
45 LPOVERLAPPED lpOverlapped,
46 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
47
48 /* this is a handler method for calls to WriteFile/Ex */
49 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
50 LPCVOID lpBuffer,
51 DWORD nNumberOfBytesToWrite,
52 LPDWORD lpNumberOfBytesWritten,
53 LPOVERLAPPED lpOverlapped,
54 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
55
56 private:
57};
58
59
60#endif // _HM_NUL_H_
Note: See TracBrowser for help on using the repository browser.