Funzione 0x64: leggere record di interfaccia

Questa funzione legge il record di interfaccia del driver e lo copia nel buffer passato da SNALink. Il buffer deve essere allocato da SNALink prima di effettuare questa chiamata.

Parametri

IRP. System.Buffer
Interface Record Address (IN): puntatore a 32 bit all'area dei record dell'interfaccia del driver.

Il formato del record dell'interfaccia è il seguente:

Descrizione Type
Frame ricevuti int
Trasmetti spazio buffer int
Eventi di stato int
Stato di input V.24 UCHAR
Stato dell'output V.24 UCHAR
Contatori delle statistiche int[11]
  • Frame ricevuti è il numero di frame attualmente accodati nei buffer di ricezione del driver.

  • Lo spazio del buffer di trasmissione viene usato per segnalare a SNALink:

    Indica se è possibile specificare più frame al driver.

    Indica se il driver dispone ancora di frame in attesa di essere inviati.

    Il campo Transmit Buffer Space (Spazio buffer di trasmissione) indica le dimensioni massime dei fotogrammi attualmente accettate dal driver. Questo viene aggiornato dopo ogni IOCTL del frame di trasmissione riuscito e deve essere controllato da SNALink prima di inviare altri fotogrammi al driver.

  • Eventi di stato è un conteggio del numero totale di incrementi apportati ai contatori delle statistiche.

  • Input V.24 Status è una bitmap dello stato logico corrente delle righe dell'interfaccia di input, un valore pari a 1 che indica ON e un valore 0 che indica OFF. I segnaposto vengono mappati come segue:

    Numero di bit Nome circuito V.24 Numero di circuito Pin RS-232C
    7 - 5 Riservato 142 25
    4 Indicatore di test 125 22
    3 Indicatore di chiamata 125 22
    2 RLSD (comunemente DCD) 109 8
    1 Data Set Ready (DSR) 107 6
    0 Cancella per l'invio (CTS) 106 5
  • Output V.24 Status è una bitmap dello stato logico corrente delle righe dell'interfaccia di output, un valore pari a 1 che indica ON e un valore 0 che indica OFF. I segnaposto vengono mappati come segue:

    Numero di bit Nome circuito V.24 Numero di circuito Pin RS-232C
    7 - 5 Riservato
    4 Test di manutenzione 140 18
    3 Selezionare Standby 116 11
    2 Selettore velocità segnale dati 111 23
    1 Pronto per il terminale dati (DTR) 108/2 22
    0 Richiesta di invio (RTS) 105 4

    Si noti che durante la trasmissione il driver genererà e abbassarà RTS in base alle esigenze, riflettendo lo stato di RTS nel campo dello stato V.24 di output. L'applicazione non deve quindi tentare di modificare RTS.

  • I contatori delle statistiche eseguono conteggi di vari tipi di informazioni sullo stato dei collegamenti. Gli eventi a cui sono correlati sono:

    Numero contatore Descrizione
    1 Frame ricevuti con CRC non corretto.
    2 Frame di dimensioni superiori alle dimensioni massime ricevute.
    3 Frame di dimensioni inferiori a 32 bit ricevuti.
    4 Frame ricevuti che non sono multipli di 8 bit.
    5 Frame interrotti ricevuti.
    6 Sottoeseguimenti del trasmettitore.
    7 Sovraccarichi del ricevitore.
    8 RLSD scende a metà ricezione.
    9 CTS scende a metà trasmissione.
    10 Elimina DSR.
    11 Errori hardware (adattatore o modem).

Commenti

Il record di interfaccia fornisce un meccanismo rapido da usare per decidere se un frame può essere trasmesso, se sono presenti frame da ricevere e così via. Il driver mantiene queste informazioni. Ogni volta che SNALink richiede queste informazioni, chiama Read Interface Record per ottenere una copia del record dell'interfaccia corrente. Dopo ogni chiamata, il driver cancella i contatori delle statistiche nel proprio record di interfaccia. Lo stato V.24 e le informazioni di trasmissione e ricezione dei dati rimangono invariate.