source: trunk/src/kernel32/hmparport.h@ 10010

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

overlappedio, com & lpt updates

File size: 2.5 KB
Line 
1/* $Id: hmparport.h,v 1.7 2001-12-07 11:28:10 sandervl Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 *
6 * Win32 Parallel Port device access class
7 *
8 * 2001 Patrick Haller <patrick.haller@innotek.de>
9 *
10 */
11
12#ifndef _HM_PARPORT_H_
13#define _HM_PARPORT_H_
14
15class HMDeviceParPortClass : public HMDeviceHandler
16{
17 public:
18
19 HMDeviceParPortClass(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 a handler method for calls to GetFileType() */
31 virtual DWORD GetFileType (PHMHANDLEDATA pHMHandleData);
32
33 /* this is the handler method for calls to CloseHandle() */
34 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
35
36 /* this is a handler method for calls to DeviceIoControl() */
37 virtual BOOL DeviceIoControl (PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
38 LPVOID lpInBuffer, DWORD nInBufferSize,
39 LPVOID lpOutBuffer, DWORD nOutBufferSize,
40 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
41
42
43 /* this is a handler method for calls to ReadFile/Ex */
44 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
45 LPCVOID lpBuffer,
46 DWORD nNumberOfBytesToRead,
47 LPDWORD lpNumberOfBytesRead,
48 LPOVERLAPPED lpOverlapped,
49 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
50
51 /* this is a handler method for calls to WriteFile/Ex */
52 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
53 LPCVOID lpBuffer,
54 DWORD nNumberOfBytesToWrite,
55 LPDWORD lpNumberOfBytesWritten,
56 LPOVERLAPPED lpOverlapped,
57 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
58
59 private:
60 // The number of physically present parallel ports in the system,
61 // LAN-redirectors don't count. See note in ::CreateFile()
62 BYTE bNumberOfParallelPorts;
63};
64
65
66#endif // _HM_PARPORT_H_
Note: See TracBrowser for help on using the repository browser.