source: trunk/src/kernel32/hmnul.h

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

preliminary changes for new overlapped io framework

File size: 2.2 KB
RevLine 
[7549]1/* $Id: hmnul.h,v 1.2 2001-12-05 14:16:03 sandervl Exp $ */
[7476]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() */
[7549]25 virtual DWORD CreateFile (LPCSTR lpFileName,
[7476]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
[7549]40 /* this is a handler method for calls to ReadFile/Ex */
[7476]41 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
42 LPCVOID lpBuffer,
43 DWORD nNumberOfBytesToRead,
44 LPDWORD lpNumberOfBytesRead,
[7549]45 LPOVERLAPPED lpOverlapped,
46 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
[7476]47
[7549]48 /* this is a handler method for calls to WriteFile/Ex */
[7476]49 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
50 LPCVOID lpBuffer,
51 DWORD nNumberOfBytesToWrite,
52 LPDWORD lpNumberOfBytesWritten,
[7549]53 LPOVERLAPPED lpOverlapped,
54 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
[7476]55
56 private:
57};
58
59
60#endif // _HM_NUL_H_
Note: See TracBrowser for help on using the repository browser.