source: trunk/src/kernel32/hmdisk.h

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

hard disk access updates & fixes

File size: 3.2 KB
RevLine 
[8401]1/* $Id: hmdisk.h,v 1.10 2002-05-10 14:55:12 sandervl Exp $ */
[4256]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:
[4588]21 HMDeviceDiskClass(LPCSTR lpDeviceName);
[4256]22
[4588]23 //checks if device name belongs to this class
24 virtual BOOL FindDevice(LPCSTR lpClassDevName, LPCSTR lpDeviceName, int namelength);
25
[4256]26 /* this is a handler method for calls to CreateFile() */
[7549]27 virtual DWORD CreateFile (LPCSTR lpFileName,
[4256]28 PHMHANDLEDATA pHMHandleData,
29 PVOID lpSecurityAttributes,
30 PHMHANDLEDATA pHMHandleDataTemplate);
31
[5587]32 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
[4256]33
[7549]34 /* this is a handler method for calls to ReadFile/Ex */
[6029]35 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
36 LPCVOID lpBuffer,
37 DWORD nNumberOfBytesToRead,
38 LPDWORD lpNumberOfBytesRead,
[7549]39 LPOVERLAPPED lpOverlapped,
40 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
[6029]41
[7549]42 /* this is a handler method for calls to WriteFile/Ex */
43 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
44 LPCVOID lpBuffer,
45 DWORD nNumberOfBytesToWrite,
46 LPDWORD lpNumberOfBytesWritten,
47 LPOVERLAPPED lpOverlapped,
48 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
49
[6029]50 /* this is a handler method for calls to SetFilePointer() */
51 virtual DWORD SetFilePointer(PHMHANDLEDATA pHMHandleData,
52 LONG lDistanceToMove,
53 PLONG lpDistanceToMoveHigh,
54 DWORD dwMoveMethod);
55
[4256]56 /* this is a handler method for calls to DeviceIoControl() */
57 virtual BOOL DeviceIoControl (PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
58 LPVOID lpInBuffer, DWORD nInBufferSize,
59 LPVOID lpOutBuffer, DWORD nOutBufferSize,
60 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
[7272]61
[8401]62 /* this is a handler method for calls to GetFileSize() */
63 virtual DWORD GetFileSize(PHMHANDLEDATA pHMHandleData,
64 PDWORD pSizeHigh);
65
[7549]66 /* this is a handler method for calls to GetFileType() */
[7430]67 virtual DWORD GetFileType (PHMHANDLEDATA pHMHandleData);
68
[7272]69private:
70 DWORD OpenDisk(PVOID pDrvInfo);
[4256]71};
72
73
74#endif //__HMDISK_H__
Note: See TracBrowser for help on using the repository browser.