Condividi tramite


Panoramica del supporto NDIS per le versioni di intestazione

Molte strutture NDIS includono informazioni sulla versione della struttura. I driver NDIS inizializzano l'intestazione del membro nelle strutture indicate, come richiesto per ciascuna. 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 Header.

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 dei 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 di bit, avrà un valore di revisione diverso rispetto alla versione NDIS 6.0.

  • Dopo la modifica di una struttura, le dimensioni della revisione successiva della struttura possono essere uguali o maggiori delle 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 sulla revisione precedenti sono ancora valide e complete. Ovvero, la nuova versione della struttura contiene un superset dei membri delle versioni precedenti. Nota Se una delle condizioni precedenti non può essere soddisfatta, 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 per il membro Revisione di e il membro Dimensione di rispettivamente di NDIS_OBJECT_HEADER. Xxx rappresenta inoltre il nome della struttura e Nn è il numero di revisione. Ad esempio, la revisione e la dimensione 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 del membro Size deve essere uguale o maggiore di NDIS_SIZEOF_Xxx_REVISION_1.

Panoramica delle versioni NDIS

Specificare le informazioni sulla versione di NDIS