OID_WAN_CO_GET_INFO
Il OID_WAN_CO_GET_INFO OID richiede al driver miniport di restituire informazioni applicabili a tutte le connessioni virtuali (VCS) nella scheda di interfaccia di rete. Queste informazioni vengono restituite in una struttura NDIS_WAN_CO_INFO, definita come indicato di seguito.
typedef struct _NDIS_WAN_CO_INFO {
OUT ULONG MaxFrameSize;
OUT ULONG MaxSendWindow;
OUT ULONG FramingBits;
OUT ULONG DesiredACCM;
} NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;
I membri di questa struttura contengono le informazioni seguenti:
MaxFrameSize
Specifica la dimensione massima del frame per qualsiasi pacchetto netto che il driver miniport può inviare e ricevere. Questo valore deve escludere il sovraccarico del driver miniport e/o il sovraccarico DI PPP HDLC. In genere questo valore è circa 1500.
Tuttavia, tutti i driver miniport WAN CoNDIS devono usare un maxframeSize interno che è 32 byte maggiore del valore restituito per questo OID. Ad esempio, un driver miniport WAN CoNDIS che restituisce 1500 per questo OID deve accettare internamente e inviare fino a 1532. Questo driver miniport può supportare facilmente il bridging futuro e altri protocolli.
MaxSendWindow
Specifica il numero massimo di pacchetti in sospeso che il driver miniport WAN CoNDIS può gestire in un VC. Questo membro deve essere impostato su almeno uno.
Il driver NDISWAN usa il valore di questo membro come limite per il numero di pacchetti inviati nelle richieste di invio alla funzione MiniportCoSendPackets del driver miniport prima che NDISWAN contenga pacchetti di invio. Questi pacchetti vengono accodati finché il driver miniport completa un invio in sospeso. Un driver miniport può regolare questo valore in modo dinamico e su base VC usando il membro SendWindow nella struttura WAN_CO_LINKPARAMS che il driver miniport passa a NdisMCoIndicateStatus. NDISWAN usa il valore SendWindow corrente come limite per gli invii in sospeso. Se il driver miniport imposta SendWindow su zero, NDISWAN deve interrompere l'invio di pacchetti per il vco specifico. Ovvero, il driver miniport specifica che la finestra di invio viene arrestata, che, in effetti, specifica che non può accettare pacchetti da NDISWAN.
Poiché un driver miniport WAN CoNDIS deve accodamento internamente, il valore di MaxSendWindow è teoricamente max( ULONG). Tuttavia, questo valore determinato dal driver deve riflettere la velocità del collegamento o le funzionalità hardware della scheda di interfaccia di rete. Ad esempio, se una scheda di interfaccia di rete del driver miniport ha sempre spazio per almeno quattro pacchetti, il driver miniport imposta MaxSendWindow su quattro in modo che qualsiasi pacchetto in ingresso a MiniportCoSendPackets possa essere posizionato immediatamente sull'hardware.
FrameBit
Valore a 32 bit che specifica una maschera di bit che specifica i tipi di frame del driver miniport supporta. Il driver miniport può specificare una combinazione dei valori seguenti, usando l'operatore OR binario:
RAS_FRAMING
Impostare solo se il driver miniport può rilevare il frame RAS meno recente. Solo i driver legacy supportati in precedenza dal set di frame RAS impostano questo flag.
RAS_COMPRESSION
Impostare solo se il driver miniport supporta lo schema di compressione RAS precedente.
PPP_FRAMING
Deve essere sempre impostato. Indica che il driver miniport può rilevare e supportare il frame PPP per il tipo medio.
PPP_COMPRESS_ADDRESS_CONTROL
Impostare se il driver miniport supporta la compressione degli indirizzi PPP e del campo di controllo.
NDISWAN rimuoverà l'indirizzo e il campo di controllo se questa opzione LCP viene negoziata. Alcuni tipi di media WAN, ad esempio X.25, non supportano questa opzione.
PPP_COMPRESS_PROTOCOL_FIELD
Impostare se il driver miniport supporta la compressione del campo del protocollo PPP.
NDISWAN rimuoverà un byte dal campo del protocollo quando applicabile se questa opzione LCP viene negoziata.
PPP_ACCM_SUPPORTED
Impostare se il driver miniport supporta il mapping dei caratteri di controllo asincrono. Questo bit è valido solo per supporti asincroni, ad esempio modem. Se questo bit è impostato, il membro DesiredACCM deve essere valido.
PPP_MULTILINK_FRAMING
Impostare se il driver miniport supporta il frame a più collegamenti come specificato in IETF RFC 1717.
PPP_SHORT_SEQUENCE_HDR_FORMAT
Impostare se il driver miniport supporta il formato di intestazione per il frame a più collegamenti come specificato in IETF RFC 1717.
SLIP_FRAMING
Impostare se il driver miniport può rilevare e supportare il frame SLIP (solo i driver miniport asincroni).
SLIP_VJ_COMPRESSION
Impostare se il driver miniport può supportare la compressione dell'intestazione TCP/IP di Van Jacobsen per SLIP. NDISWAN supporta SLIP_VJ_COMPRESSION (con 16 slot). Supporti asincroni (driver miniport seriali) che supportano il frame SLIP devono impostare questo bit.
I supporti asincroni non devono scrivere codice per supportare la compressione dell'intestazione VJ. NDISWAN si occupa di esso.
SLIP_VJ_AUTODETECT
Impostare se il driver miniport può rilevare automaticamente la compressione dell'intestazione TCP/IP di Van Jacobsen per SLIP. NDISWAN rileverà automaticamente la compressione dell'intestazione VJ. I supporti asincroni (driver miniport seriali) devono impostare questo bit se supportano il frame SLIP.
TAPI_PROVIDER
Impostare se il driver miniport supporta gli ID del provider di servizi TAPI. A meno che questo bit non sia impostato, le chiamate OID TAPI non verranno effettuate al driver miniport.
MEDIA_NRZ_ENCODING
Impostare se il driver miniport supporta la codifica NRZ, l'impostazione predefinita PPP per alcuni tipi di supporti, ad esempio ISDN. Questo valore è riservato per l'uso futuro.
MEDIA_NRZI_ENCODING
Impostare se il driver miniport supporta la codifica NRZI. Questo valore è riservato per l'uso futuro.
MEDIA_NLPID
Impostare se il driver miniport ha e può impostare NLPID nel suo frame. Questo valore è riservato per l'uso futuro.
RFC_1356_FRAMING
Impostare se il driver miniport supporta il frame IETF RFC 1356 X.25 e ISDN. Questo valore è riservato per l'uso futuro.
RFC_1483_FRAMING
Impostare se il driver miniport supporta l'adattamento di IETF RFC 1483 ATM layer-5. Questo valore è riservato per l'uso futuro.
RFC_1490_FRAMING
Impostare se il driver miniport supporta il frame di frame IETF RFC 1490. Questo valore è riservato per l'uso futuro.
NBF_PRESERVE_MAC_ADDRESS
Impostare se il driver miniport supporta il frame IETF come specificato nella bozza "The PPP NETBIOS Frame Control Protocol (NBFCP).
SHIVA_FRAMING
Sostituita da NBF_PRESERVE_MAC_ADDRESS.
PASS_THROUGH_MODE
Impostare se il driver miniport fa il proprio frame. Se questo flag è impostato, NDISWAN passa fotogrammi, non interpretati e non modificati.
I driver miniport devono trovarsi nella modalità di frame PPP predefinita fino a quando ogni driver miniport riceve una richiesta di OID_WAN_CO_SET_LINK_INFO . Il driver miniport deve rilevare automaticamente qualsiasi frame che dichiara di supportare.
Ad esempio, i driver miniport che supportano il vecchio frame RAS devono rilevare automaticamente il frame RAS dal frame PPP. Se un driver miniport rileva uno schema di frame diverso dal valore predefinito, il driver miniport dovrebbe cambiare automaticamente il suo frame nell'frame appena rilevato.
Una query successiva con OID_WAN_CO_GET_LINK_INFO deve indicare il frame rilevato. Se non viene ancora rilevato alcun frame, i frameBit devono essere zero nelle informazioni NDIS_WAN_CO_GET_LINK_INFO restituite.
Se il driver miniport WAN viene chiamato successivamente con OID_WAN_CO_SET_LINK_INFO in cui il membro FrameBits è zero, il driver miniport deve tentare di rilevare automaticamente il frame alla ricezione di ogni fotogramma.
DesiredACCM
Viene negoziata la mappa caratteri di controllo asincrona. Questo membro è rilevante solo per i tipi di supporti asincroni.
Requisiti
Versione |
Supportato per i driver NDIS 6.0 e NDIS 5.1 in Windows Vista. Supportato per i driver NDIS 5.1 in Windows XP. |
Intestazione |
Ntddndis.h (include Ndis.h) |