Initialisieren eines Miniport-Intermediate-Treibers
Ein Miniport-Intermediate-Treiber kombiniert einen Miniporttreiber für ein virtuelles Gerät, einen Protokolltreiber und einen Miniporttreiber für ein physisches Gerät. Ein Miniport-Intermediate-Treiber funktioniert ähnlich wie ein Zwischentreiber, der über einen Miniporttreiber übergelagert ist. Ein solcher Treiber ermöglicht es einem zwischengeschalteten Treiber, direkt mit einem zugrunde liegenden Miniporttreiber zu kommunizieren, ohne die Leistungseinbußen zu erzwingen, die bei zwei separaten Treibern auftreten können.
Um seinen physischen Miniporttreiber zu registrieren, ruft ein Miniport-Intermediate-Treiber die NdisMRegisterMiniportDriver-Funktion mit den entsprechenden Parametern auf, genau wie für jeden Miniporttreiber. Um seinen virtuellen Miniport zu registrieren, ruft der Treiber NdisMRegisterMiniportDriver erneut auf, jedoch mit dem in der Struktur unter MiniportDriverCharacteristics festgelegten NDIS_INTERMEDIATE_DRIVER Flag.
Wenn der IMMiniport-Registrierungsschlüssel für jedes virtuelle oder physische Gerät instance eines Miniport-Intermediate-Treibers auf DWORD:0x0000001 festgelegt ist, ruft NDIS die MiniportInitializeEx-Funktion auf, die der Treiber für das virtuelle Gerät registriert hat. Andernfalls ruft NDIS die MiniportInitializeEx-Funktion des Treibers auf, die der Treiber für das physische Gerät registriert hat.