C.3 Examples

#define WDT_CODE(ID)

CTL_CODE(FILE_DEVICE_UNKNOWN,ID, METHOD_BUFFERED, FILE_ANY_ACCESS)

#define IOCTL_WDT_ENABLE WDT_CODE (0x900) #define IOCTL_WDT_DISABLE WDT_CODE(0x901) #define IOCTL_WDT_STROBE WDT_CODE(0x902)

#define IOCTL_WDT_GET_TIMEOUT WDT_CODE(0x903) #define IOCTL_WDT_SET_TIMEOUT WDT_CODE(0x904) #define IOCTL_WDT_REBOOT WDT_CODE(0x905)

//for compatibility reasons, you can define IOCTL as below:

//#define IOCTL_WDT_ENABLE 0x1001

//#define IOCTL_WDT_DISABLE 0x1002

//#define IOCTL_WDT_STROBE 0x1003

//#define IOCTL_WDT_GETTIMEOUT 0x1004

//#define IOCTL_WDT_SETTIMEOUT 0x1005

//#define IOCTL_WDT_REBOOT 0x1006

HANDLE m_hWDT=NULL;

TCHAR szClassName[60];

//assign the WDT driver name wsprintf(szClassName, TEXT("WDT1:"));

//Open the WDT driver

m_hWDT = CreateFile(szClassName, GENERIC_READ GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if ( m_hWDT == INVALID_HANDLE_VALUE ) { DebugMsg(CString("WDT driver fail"));

return;

}

DWORD dwTemp; DWORD nIndex=2;

TPC-1261H User Manual

62

Page 72
Image 72
B&B Electronics TPC-1261H user manual Examples, CTLCODEFILEDEVICEUNKNOWN,ID, METHODBUFFERED, Fileanyaccess