Beispiel zur Programmierung der PWDOG1-Karte mit der QLIB unter C für Windows 95/98 und Windows NT


Das folgende Programmbeispiel zeigt, wie ein einfaches Watchdog-Hintergrundprogramm mit der QLIB geschrieben werden kann. Das Tool kann dazu eingesetzt werden, einen abgestürzten Rechner mittels der Watchdog-Karte zu resetten um so einen Neustart erzwingen zu können.
Der Sample-Source liegt standardmäßig unter dem Verzeichnis:
C:\programme\quancom\QLIB32\Samples\c\pwdog_B
Ein typischer Anwendungsfall wären Rechnersysteme die nicht direkt durch Mitarbeiter genutzt werden wie z.B. File-Server, Internet-Server oder sonstige Serversysteme :



 
/*
** Beispielprogramm fuer PWDOG1/2
**
** Einfaches Watchdog-Hintergrundprogramm fuer PWDOG1/2, welches die Karte
** kontinuierlich retriggert.
**
** Compiler: Borland C++
*/
/*
** Includes
*/
#include
#include
#include
#include "qlib\include\qlib.h"
/*=================
Hauptprogramm
=================*/
void main ()
{
ULONG pwdog; // Handle fuer PWDOG-Karte
ULONG cnt=0L;
if ((pwdog=QAPIExtOpenCard(PWDOG,0L)) == 0L) // Oeffnen der Karte
{ // fehlgeschlagen
printf("PWDOG1/2 konnte nicht geoeffnet werden.");
return;
}
QAPIExtWatchdog(pwdog,JOB_DISABLE_WATCHDOG); // PWDOG deaktivieren
// (notwendig, falls
printf("PWDOG1/2 deaktiviert\n"); // zuvor ein Watchdog-
// Ereignis auftrat)
Sleep(1000);
QAPIExtWatchdog(pwdog,JOB_ENABLE_WATCHDOG); // PWDOG aktivieren
printf("PWDOG1/2 aktiviert\n");
printf("Zum Abschalten des Watchdogs Taste ESC druecken.\n");
while (!(kbhit() && getch()==27)) // solange die ESC-Taste
{ // nicht gedrueckt ist
Sleep(500);
QAPIExtWatchdog(pwdog,JOB_RETRIGGER_WATCHDOG); // PWDOG retriggern
printf("\rWatchdog wurde %ld mal retriggert",++cnt);
}
QAPIExtWatchdog(pwdog,JOB_DISABLE_WATCHDOG); // PWDOG deaktivieren
printf("\nPWDOG1/2 deaktiviert\n");
QAPIExtCloseCard(pwdog);
}
 


 Weiter zu "Download QLIB"