source: trunk/src/kernel32/hmdisk.h@ 7029

Last change on this file since 7029 was 6029, checked in by sandervl, 24 years ago

disk updates

File size: 2.3 KB
Line 
1/* $Id: hmdisk.h,v 1.4 2001-06-16 16:10:12 sandervl Exp $ */
2
3#ifndef __HMDISK_H__
4#define __HMDISK_H__
5
6/*****************************************************************************
7 * Includes *
8 *****************************************************************************/
9
10#include <handlemanager.h>
11#include "HMDevice.h"
12#include "HMObjects.h"
13
14/*****************************************************************************
15 * Structures *
16 *****************************************************************************/
17
18class HMDeviceDiskClass : public HMDeviceKernelObjectClass
19{
20public:
21 HMDeviceDiskClass(LPCSTR lpDeviceName);
22
23 //checks if device name belongs to this class
24 virtual BOOL FindDevice(LPCSTR lpClassDevName, LPCSTR lpDeviceName, int namelength);
25
26 /* this is a handler method for calls to CreateFile() */
27 virtual DWORD CreateFile (LPCSTR lpFileName,
28 PHMHANDLEDATA pHMHandleData,
29 PVOID lpSecurityAttributes,
30 PHMHANDLEDATA pHMHandleDataTemplate);
31
32 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
33
34 /* this is a handler method for calls to ReadFile() */
35 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
36 LPCVOID lpBuffer,
37 DWORD nNumberOfBytesToRead,
38 LPDWORD lpNumberOfBytesRead,
39 LPOVERLAPPED lpOverlapped);
40
41 /* this is a handler method for calls to SetFilePointer() */
42 virtual DWORD SetFilePointer(PHMHANDLEDATA pHMHandleData,
43 LONG lDistanceToMove,
44 PLONG lpDistanceToMoveHigh,
45 DWORD dwMoveMethod);
46
47 /* this is a handler method for calls to DeviceIoControl() */
48 virtual BOOL DeviceIoControl (PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
49 LPVOID lpInBuffer, DWORD nInBufferSize,
50 LPVOID lpOutBuffer, DWORD nOutBufferSize,
51 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
52};
53
54
55#endif //__HMDISK_H__
Note: See TracBrowser for help on using the repository browser.