MacChangeTrAddress

NDIS_STATUS
    MacChangeTrAddress(
        IN TR_FUNCTIONAL_ADDRESS  OldFunctionalAddress,
        IN TR_FUNCTIONAL_ADDRESS  NewFunctionalAddress,
        IN NDIS_HANDLE  MacBindingHandle,
        IN PNDIS_REQUEST  NdisRequest,
        IN BOOLEAN  Set
        );

MacChangeTrAddress is a NIC driver action function the Token Ring filter library calls when the bitmap for the functional address changes for the NIC.

Parameters

OldFunctionalAddress
Specifies the old functional address.
NewFunctionalAddress
Specifies the new functional address.
MacBindingHandle
Specifies the handle that the NIC driver associates with the binding.
NdisRequest
Points to a request structure.
Set
Specifies TRUE if changes are being caused by a set request rather than the closing of a binding.

Return Value

MacChangeTrAddress can return the following status codes:

NDIS_STATUS_PENDING
NDIS_STATUS_RESET_IN_PROGRESS
NDIS_STATUS_SUCCESS

Comments

The NIC driver supplied the entry point for MacChangeTrAddress when it called TrCreateFilter to set up the Token Ring filter database.

TrChangeFunctionalAddress, which the NIC driver calls after it acquires the filter database spin lock, actually calls MacChangeTrAddress only after checking the current functional address list for all bound protocols and determining that it requires changes.

If MacChangeTrAddress returns anything other than NDIS_STATUS_SUCCESS or NDIS_STATUS_PENDING, TrChangeFunctionalAddress discards any changes this function made to the address list.

MacChangeTrAddress runs at IRQL DISPATCH_LEVEL.

See Also

MacAddAdapter, NdisAcquireSpinLock, TrChangeFunctionalAddress, TrCreateFilter