31.05.2013 Views

Tricky C - Si® @lbert Site

Tricky C - Si® @lbert Site

Tricky C - Si® @lbert Site

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

IV - <strong>Tricky</strong> C<br />

Int 08h (Hardware): Timer ...........................................................................................300<br />

Int 09h (Hardware): Tastiera.........................................................................................300<br />

Int 10h (BIOS): Servizi video.......................................................................................303<br />

Int 13h (BIOS): I/O dischi............................................................................................304<br />

Int 16h (BIOS): Tastiera...............................................................................................304<br />

Int 1Bh (BIOS): CTRL-BEAK .....................................................................................307<br />

Int 1Ch (BIOS): Timer.................................................................................................308<br />

Int 21h (DOS): servizi DOS..........................................................................................308<br />

Int 23h (DOS): CTRL-C...............................................................................................309<br />

Int 24h (DOS): Errore critico........................................................................................310<br />

Int 28h (DOS): DOS libero...........................................................................................311<br />

Int 2Fh (DOS): Multiplex.............................................................................................311<br />

Gestione dello I/O .................................................................................................................313<br />

Tastiera.......................................................................................................................313<br />

Video..........................................................................................................................314<br />

File.............................................................................................................................318<br />

DTA ...........................................................................................................................322<br />

Gestione del PSP...................................................................................................................324<br />

Ricapitolando........................................................................................................................325<br />

Disattivazione e disinstallazione.............................................................................................327<br />

keep() ed exit()............................................................................................................327<br />

Suggerimenti operativi.................................................................................................328<br />

Controllo di avvenuta installazione......................................................................329<br />

Richiesta dell'indirizzo dei dati............................................................................329<br />

Rimozione della porzione residente del TSR ........................................................330<br />

Precauzioni........................................................................................................330<br />

Alcuni esempi pratici.............................................................................................................334<br />

I DEVICE DRIVER........................................................................................................................353<br />

Aspetti tecnici.......................................................................................................................353<br />

Il bootstrap..................................................................................................................353<br />

Tipi di device driver.....................................................................................................354<br />

Struttura e comportamento dei device driver..................................................................355<br />

Il Device Driver Header: in profondità ..........................................................................357<br />

Il Request Header e i servizi: tutti i particolari ...............................................................360<br />

Servizio 00: Init..................................................................................................363<br />

Servizio 01: Media Check...................................................................................365<br />

Servizio 02: Build BPB.......................................................................................366<br />

Servizio 03: IOCTL Read ...................................................................................367<br />

Servizio 04: Read (Input)....................................................................................368<br />

Servizio 05: Nondestructive Read........................................................................369<br />

Servizio 06: Input Status.....................................................................................370<br />

Servizio 07: Flush Input Buffers..........................................................................371<br />

Servizio 08: Write (Output).................................................................................371<br />

Servizio 09: Write With Verify............................................................................371<br />

Servizio 10: Output Status...................................................................................371<br />

Servizio 11: Flush Output Buffers .......................................................................371<br />

Servizio 12: IOCTL Write...................................................................................372<br />

Servizio 13: Device Open ...................................................................................372<br />

Servizio 14: Device Close...................................................................................373<br />

Servizio 15: Removable Media............................................................................373<br />

Servizio 16: Output Until Busy ...........................................................................373<br />

Servizio 19: Generic IOCTL Request...................................................................374<br />

Servizio 23: Get Logical Device..........................................................................375

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!