6 // HW Driver Abstraction layer
10 // The driver is opened for OVERLAPPED I/O
14 // Set the driver instances symbolic name
15 void SetDeviceName(LPCTSTR szDeviceName
);
16 DWORD
GetDeviceName(LPTSTR szBuffer
, DWORD dwBufferSize
);
18 // Open a handle to the driver instance
19 virtual DWORD
Attach(LPCSTR szDeviceName
);
20 virtual DWORD
Detach();
21 HANDLE
GetDriverHandle();
22 BOOL
IsAttached() {return GetDriverHandle()!=INVALID_HANDLE_VALUE
;}
24 // Send a command to the driver
25 DWORD
SendCommand(DWORD dwCommand
, LPVOID lpInBuffer
=NULL
, DWORD dwInBufferSize
=0, LPVOID lpOutBuffer
=NULL
, DWORD dwOutBufferSize
=0, OVERLAPPED
*pOverlapped
=NULL
);
26 DWORD
SendData(LPVOID lpBuffer
, DWORD dwBufferSize
, DWORD
*dwBytesSent
, OVERLAPPED
*pOverlapped
);
27 DWORD
GetData(LPVOID lpBuffer
, DWORD dwBufferSize
, DWORD
*dwBytesRead
, OVERLAPPED
*pOverlapped
);
31 TCHAR m_szDeviceName
[1024];