Condividi tramite


Panoramica del supporto di NDIS per le versioni di intestazione

Molte strutture NDIS includono informazioni sulla versione della struttura. I driver NDIS o NDIS inizializzano il membro Intestazione in tali strutture, come richiesto per ogni struttura. I driver NDIS devono controllare le informazioni sulla versione, se presenti, in ogni struttura prima di accedere ai membri della struttura.

Il membro Header è una struttura NDIS_OBJECT_HEADER . Questa struttura contiene il numero di revisione, il tipo e le dimensioni della struttura che include il membro Intestazione .

Le strutture che includono il membro Intestazione soddisfano i requisiti seguenti:

  • La struttura avrà un nuovo valore di revisione se vengono aggiunte nuove informazioni all'elenco membri per una nuova versione di NDIS. Ad esempio, se la versione NDIS 6.1 della struttura ha nuovi membri alla fine dell'elenco dei membri, in un'unione o in una maschera bit, avrà un valore di revisione diverso dalla versione NDIS 6.0.

  • Dopo la modifica di una struttura, le dimensioni della revisione successiva della struttura possono essere uguali o maggiori rispetto alle dimensioni della revisione precedente della struttura, ma non saranno più piccole. Se la nuova dimensione è maggiore della dimensione della revisione precedente, i nuovi membri vengono aggiunti alla fine dell'elenco dei membri.

  • Una struttura avrà una nuova revisione solo se le informazioni di revisione precedenti sono ancora valide e complete. Vale a dire, la nuova versione della struttura contiene un superset dei membri delle versioni precedenti. Nota Se non è possibile soddisfare una delle condizioni precedenti, NDIS fornisce una nuova struttura con un nuovo nome che sostituisce la struttura esistente anziché fornire una versione modificata della struttura esistente.

  • I driver NDIS devono usare sempre i valori di revisione predefiniti. NDIS fornisce tali definizioni nel formato Xxx_REVISION_Nn e NDIS_SIZEOF_Xxx_REVISION_Nn, rispettivamente per i membri revisioni e dimensioni di NDIS_OBJECT_HEADER . Xxx rappresenta anche il nome della struttura e Nn è il numero di revisione. Ad esempio, la revisione e le dimensioni per la prima revisione della struttura NDIS_FILTER_PARTIAL_CHARACTERISTICS sono rispettivamente NDIS_FILTER_PARTIAL_CHARACTERISTICS_REVISION_1 e NDIS_SIZEOF_FILTER_PARTIAL_CHARACTERISTICS_REVISION_1.

  • Il valore Header.Size deve essere coerente con il valore Header.Revision . Ovvero, se il membro Revision contiene Xxx_REVISION_1, il valore membro Size deve essere uguale o maggiore di NDIS_SIZEOF_Xxx_REVISION_1.

Panoramica delle versioni di NDIS

Specifica delle informazioni sulla versione di NDIS