Zuordnen eines NDIS-Ports
Um einen NDIS-Port für einen Miniportadapter zuzuweisen, ruft ein Miniporttreiber die NdisMAllocatePort-Funktion auf. NdisMAllocatePort ist synchron und wird zurückgegeben, nachdem NDIS die für den Port erforderlichen Ressourcen erfolgreich zugeordnet hat.
Bevor der Miniporttreiber NdisMAllocatePort aufruft, muss der Treiber die Funktion NdisMSetMiniportAttributes aufrufen, um die Attribute in der NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES-Struktur festzulegen. Miniport-Treiber können NdisMAllocatePort für einen Miniportadapter aufrufen, nachdem der Aufruf von NdisMSetMiniportAttributes erfolgreich zurückgegeben wurde und bevor NDIS die MiniportHaltEx-Funktion für diesen Miniportadapter aufruft.
NDIS weist immer den Standardport (Port 0) zu, sodass Miniporttreiber keinen Standardport zuordnen sollten. NDIS gibt den Standardport frei, nachdem der Miniporttreiber das Formular MiniportHaltEx zurückgegeben hat.
NDIS weist einem Port eine Portnummer zu, wenn der Miniporttreiber NdisMAllocatePort aufruft. Der Treiber gibt Portmerkmale in der NDIS_PORT_CHARACTERISTICS-Struktur an, bevor der Treiber NdisMAllocatePort aufruft. Wenn NdisMAllocatePort erfolgreich zurückgegeben wird, wird der PortNumber-Member von NDIS_PORT_CHARACTERISTICS, den der PortCharacteristics-Parameter angibt, auf die Portnummer festgelegt, die NDIS dem Port zugewiesen hat.
Vor der Rückkehr von MiniportHaltEx muss ein Miniporttreiber die NdisMFreePort-Funktion aufrufen, um alle Ports freizugeben, die einem Miniportadapter zugeordnet sind. Wenn die Initialisierung eines Miniportadapters fehlschlägt, muss der Treiber NdisMFreePort aufrufen, um alle Ports freizusetzen, die dem Treiber zugewiesen sind, bevor er von der MiniportInitializeEx-Funktion zurückgegeben wird. Weitere Informationen zum Freigeben von NDIS-Ports finden Sie unter Freigeben von NDIS-Ports.
Die maximale Anzahl von Ports, die ein Miniporttreiber zuweisen kann, ist 0xffffff. In der Praxis legen Treiber jedoch eine maximale Anzahl fest, die auf dem Porttyp und den Anforderungen der Treiberanwendung basiert. Bei einer Bridgeanwendung ist es z. B. unwahrscheinlich, dass die Anzahl der Ports 16 überschreitet. Die Anzahl der Ports wäre höher für Zugriffspunkte, die 802,1x supplicant-Ports verwenden, und deutlich höher für WAN-Treiber, die VPN-Ports (Virtuelles privates Netzwerk) verwenden.
Nachdem ein Miniporttreiber einen Port zugewiesen hat, befindet sich der Port im zugeordneten Zustand, und der Port ist nicht aktiv. Ein Port kann nicht verwendet werden, um Daten zu senden und zu empfangen, eine status-Anzeige zu initiieren, eine OID-Anforderung ausstellen oder ein Plug & Play -Ereignis (PnP) zu initiieren, bis der Port aktiviert ist. NDIS aktiviert den Standardport automatisch, nachdem der Miniporttreiber die Registrierungsattribute in einer NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES-Struktur festgelegt hat. Um anzufordern, dass NDIS den Standardport nicht aktiviert, kann ein Miniporttreiber NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT im AttributeFlags-Member von NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES festlegen.
NDIS übergibt den Authentifizierungsstatus des Standardports an die MiniportInitializeEx-Funktion im DefaultPortAuthStates-Element der NDIS_MINIPORT_INIT_PARAMETERS-Struktur . Wenn ein Miniporttreiber den Standardport steuert und der Miniporttreiber den Standardport aktiviert, kann er den Standardport mithilfe der Standardauthentifizierungseinstellungen aktivieren. Weitere Informationen zum Aktivieren des Standardports finden Sie unter Aktivieren von NDIS-Ports.
Miniporttreiber können das NDIS_PORT_CHAR_USE_DEFAULT_AUTH_SETTINGS-Flag im Flags-Member der NDIS_PORT_CHARACTERISTICS-Struktur für die Ports verwenden, die die Treiber zuordnen und aktivieren. Für den Zuordnungsfall weist NDIS den neuen Ports die Standardauthentifizierungszustände zu und ignoriert die Authentifizierungszustände, die an die NdisMAllocatePort-Funktion übergeben werden.
Weitere Informationen zu NDIS-Portstatus finden Sie unter NDIS-Portstatus. Weitere Informationen zum Aktivieren von Ports finden Sie unter Aktivieren von NDIS-Ports.