User manual

TPC-31/61 User Manual 42
A.2.5 IOCTL_WDT_SETTIMEOUT:
Sets the Watchdog time setting.
lpInBuffer : The DWORD pointer to your Watchdog time setting. The Watchdog time
setting is just a number. 0 means 2 seconds, 1 means 5 seconds, 2 means 10 sec-
onds, 3 means 15 seconds, 4 means 30 seconds, others means 40 seconds. The
default setting is 5 seconds.
nInBufferSize:.unused.
lpOutBuffer: unused.
nOutBufferSize: unused.
A.2.6 IOCTL_WDT_REBOOT:
If you want your application to trigger the Watchdog by itself, please use
IOCTL_WDT_REBOOT to notify the WDT driver. Otherwise, the WDT will trigger
itself automatically.
lpInBuffer :unused.
nInBufferSize: unused.
lpOutBuffer: unused.
nOutBufferSize: unused.
A.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[66];
// 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 ) {