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)
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
#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 ) {
TPC-31/61 User Manual
CTL_CODE(FILE_DEVICE_UNKNOWN,
WDT_CODE (0x904)
42
ID,