Dela via


Designkoncept för intermediär drivrutin

Det här avsnittet innehåller grundläggande information som hjälper dig att börja skriva en mellanliggande NDIS-drivrutin. Om du vill skriva en mellanliggande NDIS-drivrutin måste du förstå NDIS-miniportdrivrutinen och protokolldrivrutinsfunktionerna.

Exempel på en MUX-mellanliggande drivrutin i Microsoft Windows Driver Kit (WDK) ger ett grundläggande exempel på en n-till-ett MUX-mellanliggande drivrutin som du kan anpassa för dina specifika behov.

Den virtuella miniporten för en mellanliggande NDIS-drivrutin måste deserialiseras. Avserialiserade drivrutiner serialisera driften av sina egna MiniportXxx funktioner och köa alla inkommande nätverksdata för sändning internt i stället för att förlita sig på NDIS för att utföra dessa åtgärder. Den här åtgärden resulterar i betydligt bättre prestanda för full duplex om drivrutinens kritiska avsnitt (kod som bara kan köras av en tråd i taget) hålls små. Mer information om deserialiserade drivrutiner finns i Deserialized NDIS Miniport Drivers.

En mellanliggande NDIS-drivrutin kan endast stödja anslutninglös kommunikation i den virtuella miniporten. I dess protokollgränssnitt kan dock en mellanliggande NDIS-drivrutin stödja antingen anslutningslös kommunikation eller anslutningsorienterad kommunikation. Mer information om anslutningsorienterad kommunikation finns i Connection-Oriented NDIS-.

En mellanliggande drivrutin ligger vanligtvis över en eller flera NDIS-miniportdrivrutiner och under en transportdrivrutin. Mellanliggande drivrutiner kan också användas tillsammans med andra mellanliggande drivrutiner.

Följande avsnitt innehåller ytterligare information om hur du skriver mellanliggande NDIS-drivrutiner:

Mellanliggande drivrutin DriverEntry-funktion

Dynamisk bindning i en mellanliggande drivrutin

Intermediär drivrutinsförfrågan och inställningsoperationer

Mellanliggande drivrutinsnätverksdatahantering

Mottagande av data i en mellanliggande drivrutin

överföring av nätverksdata via en mellanliggande drivrutin

Hantera PnP-händelser och Power Management-händelser i en mellanliggande drivrutin

åtgärder för återställning av mellanliggande drivrutiner

Statusindikationer i en mellanliggande drivrutin