reactos/drivers/bluetooth/fbtusb/include/fbthw.h
Amine Khaldi 527f2f9057 [SHELL/EXPERIMENTS]
* Create a branch for some evul shell experiments.

svn path=/branches/shell-experiments/; revision=61927
2014-02-02 19:37:27 +00:00

37 lines
1 KiB
C++

#ifndef _FBT_HW_H_
#define _FBT_HW_H_
#include <winioctl.h>
// HW Driver Abstraction layer
class CBTHW
{
public:
// The driver is opened for OVERLAPPED I/O
CBTHW();
virtual ~CBTHW();
// Set the driver instances symbolic name
void SetDeviceName(LPCTSTR szDeviceName);
DWORD GetDeviceName(LPTSTR szBuffer, DWORD dwBufferSize);
// Open a handle to the driver instance
virtual DWORD Attach(LPCSTR szDeviceName);
virtual DWORD Detach();
HANDLE GetDriverHandle();
BOOL IsAttached() {return GetDriverHandle()!=INVALID_HANDLE_VALUE;}
// Send a command to the driver
DWORD SendCommand(DWORD dwCommand, LPVOID lpInBuffer=NULL, DWORD dwInBufferSize=0, LPVOID lpOutBuffer=NULL, DWORD dwOutBufferSize=0, OVERLAPPED *pOverlapped=NULL);
DWORD SendData(LPVOID lpBuffer, DWORD dwBufferSize, DWORD *dwBytesSent, OVERLAPPED *pOverlapped);
DWORD GetData(LPVOID lpBuffer, DWORD dwBufferSize, DWORD *dwBytesRead, OVERLAPPED *pOverlapped);
protected:
HANDLE m_hDriver;
TCHAR m_szDeviceName[1024];
};
#endif // _FBT_HW_H_