Spis treści · 
Praca · 
Menu · 
Dysk
Skrypt obsługi We/Wy dysku
Parametry We/Wy
 
Okno dialogowe We/Wy 
Skrypt ten może być używane do logowania błędów We/Wy i rozszerzone przetwarzanie błędów 
(w tym połączeń zewnętrznych programu). 
Ta funkcja jest dostępna w Professional Edition tylko.
Skrypt może być załadowany lub zmodyfikowane przez parametry We/Wy urządzenia 
(przycisk Skrypt).
Plik ondevhsc.txt zawiera krótki opis dostępnych komend i kilka przykładowych skryptów.
Możliwe linii skryptu są w postaci:
IF WARUNEK KOMENDA
lub
KOMENDA
lub
:LABEL
gdzie WARUNEK jest nierówności lub równości
  (!=, >, <, >=, <=, =) dwóch ilości,
  i ilość jest albo stałą liczbą całkowitą (0, 1, ...)
  lub zmienna (lista poniżej)
  lub proste wyrażenie matematyczne (operatorów +, -, *, %, /, 
  bez nawiasów, ignorując matematyczny porządek z operatorów),
np. %ERROR%=0
Komentarze są poprzedzane przez dwa minusy (--)
Zmienne
Wszystkie są od zera
-- %CONFIRM%  - =1 jeśli 
Potwierdź naciśnięciu, =0 jeśli 
Anuluj przycisku 
                (okno dialogowe czeka na wybór użytkownika)
-- %DISKNUM%  - numer dysku w macierzy RAID
-- %TRYNUM%   - numer próba
-- %LBA%      - numer pierwszego sektora We/Wy
-- %SECNUM%   - liczba sektorów
-- %ERROR%    - numer błędu
-- %ERROREX%  - dodatkowy kod błędu dla trybów dostępu 
IO SCSI, IO ATA
-- %ATASTATUS% - ATA Status Register (zdefiniowany, jeśli BSY bit jest wyzerowany, DOS ATA tylko)
-- %ATAERROR% - ATA Error Register (zdefiniowany, jeśli ERR bit 
%ATASTATUS% jest ustawiony)
-- %LINE%     - bieżący numer linii w skrypcie
-- %SERVICE%  - typu usługi We/Wy: 
--  
0-ATA 
  
1-ATAPI
  
3-BIOSINT13OLD 
  
4-BIOSINT13
--  
5-DOSINT25 
  
6-DOSINT73 
  
7-DOSASPI
  
8-DOSMSCDEX
  
9-DOSFILE  
--  
11-WINFILE 
  
12-WINSCSI 
  
13-WIN9XINT13  
  
14-WINATA  
--  
20-LINUXFILE
  
21-LINUXSCSI
-- %LASTRES%  - wynik z poprzedniego komendy
-- %LASTERR%  - błąd z poprzedniej komendy
Komendy
-- SHOWDLG          - życie okno wyskakujące We/Wy urządzenia
-- WAIT             - oczekiwanie na wybór użytkownika
-- DELAY N          - opóźnienie N ms
-- EXECCMD CMDLINE  - wykonywanie zewnętrznych komendu CMDLINE za pomocą interpretera komend 
                     (czyli "cmd CMDLINE" w systemie Windows)
-- EXECCMDQ CMDLINE - wykonać bez tworzenia nowego okna konsoli 
-- EXEC "FILENAME" CMDLINE  - wezwanie zewnętrznego program FILENAME z parametrem CMDLINE
-- EXECQ "FILENAME" CMDLINE - wezwanie bez tworzenia nowego okna konsoli
-- MSDOS            - wezwanie procesoru komen (nie są obsługiwane w systemie Linux)
-- GOTO LABELNAME   - skok do etykiety LABELNAME w skrypcie (do linii 
:LABELNAME)
-- RETURN           - skrypt przerwie, obsluga błędu zgodnie z 
parametrami We/Wu urządzenia
-- RETRETRY         - skrypt przerwie jak wciśnięty 
Ponów przycisk
-- RETIGNORE        - skrypt przerwie jak wciśnięty 
Ignoruj przycisk
-- RETABORT         - skrypt przerwie jak wciśnięty 
Przerwij przycisk
-- ADDLOG "FILENAME" LOGLINE - napisz LOGLINE do pliku FILENAME 
                   (LOGLINE łańcuch może zawierać zmienne)
-- CANCELIO         - wezwanie 
CancelIO (WinNT + tylko)
		      (dostępna, jeśli urządzenie jest otwarte z 
overlapped się opcja)
-- OVLRESLT N       - sprawdź wynik 
Overlapped-operacji (N=1: czekać; N=0: nie czekać) (WinNT+ tylko)
                      (muszą być używane, jeśli urządzenie jest otwarte z 
overlapped opcja)
 
-- RESETHANDLE      - otwórz ponownie uchwyt dysku
-- RESETDEVLIST     - update the list of devices, reopen disk handle
-- ATARESET         - ATA Soft Reset (DOS ATA  tylko)
-- ATARESETDET      - ATA Soft Reset i ATA Identify (DOS ATA tylko)
Specyfikatory formatu
-- Aby cyfrowy format wyjściowy nazwy zmiennej może nastąpić 
-- przez format specyfikatora po dwukropku, np. 
-- %LBA:8x%         - szerokość: 8, szesnastkowy
Przykład skryptu
IF %ERROR%=0 RETURN  -- wyjść jeśli nie błąd na We/Wy
IF %ERROR%=128 GOTO LABEL1
IF %ERROR%=5 GOTO LABEL1
RETURN
:LABEL1
IF %CONFIRM%=0 RETRETRY -- spróbuj ponownie , jeśli przycisk Anuluj jest wciśnięty
                        -- kontynuować wykonywanie skryptu, jeśli Potwierdź jest wciśnięty 
EXECCMD /K ECHO error %ERROR% at LBA: %LBA% (%SECNUM%) try: %TRYNUM%. Wpisz EXIT aby powrócić.
IF %TRYNUM%<2 RETRETRY
DELAY 500
ADDLOG "C:\ERRORS.LOG" error %ERROR:x% at LBA: %LBA:10% (%SECNUM%) try: %TRYNUM%
RETIGNORE