MacChangeFddiAddresses

NDIS_STATUS
    MacChangeFddiAddresses(
        IN UINT  OldLongAddressCount,
        IN CHAR  OldLongAddresses[][FDDI_LENGTH_OF_LONG_ADDRESS],
        IN UINT  NewLongAddressCount,
        IN CHAR  NewLongAddresses[][FDDI_LENGTH_OF_LONG_ADDRESS],
        IN UINT  OldShortAddressCount,
        IN CHAR  OldShortAddresses[][FDDI_LENGTH_OF_SHORT_ADDRESS],
        IN UINT  NewShortAddressCount,
        IN CHAR  NewShortAddresses[][FDDI_LENGTH_OF_SHORT_ADDRESS],
        IN NDIS_HANDLE  MacBindingHandle,
        IN PNDIS_REQUEST  NdisRequest,
        IN BOOLEAN  Set
        );

MacChangeFddiAddresses is a NIC driver action function the FDDI filter library calls when the multicast long or short address list changes.

Parameters

OldLongAddressCount
Specifies the number of addresses in the array of old multicast long addresses (OldLongAddresses).
OldLongAddresses[][FDDI_LENGTH_OF_LONG_ADDRESS]
Specifies a two-dimensional array listing the old multicast long addresses.
NewLongAddressCount
Specifies the number of addresses in the array of new multicast long addresses (NewLongAddresses).
NewLongAddresses[][FDDI_LENGTH_OF_LONG_ADDRESS]
Specifies a two-dimensional array listing the new multicast long addresses.
OldShortAddressCount
Specifies the number of addresses in the array of old multicast short addresses (OldShortAddresses).
OldShortAddresses[][FDDI_LENGTH_OF_SHORT_ADDRESS]
Specifies a two-dimensional array listing the old multicast short addresses.
NewShortAddressCount
Specifies the number of addresses in the array of new multicast short addresses (NewShortAddresses).
NewShortAddresses[][FDDI_LENGTH_OF_SHORT_ADDRESS]
Specifies a two-dimensional array listing the new multicast short addresses.
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

MacChangeFddiAddresses 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 MacChangeFddiAddresses when it called FddiCreateFilter to set up the filter database.

FddiChangeFilterLongAddresses or FddiChangeFilterShortAddresses, which the NIC driver calls after it acquires the filter database spin lock, actually calls MacChangeFddiAddresses only after checking the current multicast long or short address list for all bound protocols and determining that it requires changes.

If MacChangeFddiAddresses returns anything other than NDIS_STATUS_SUCCESS or NDIS_STATUS_PENDING, FddiChangeFilter..Addresses discards any changes this function made to the corresponding multicast address list.

MacChangeFddiAddresses runs at IRQL DISPATCH_LEVEL.

See Also

FddiChangeFilterLongAddresses, FddiChangeFilterShortAddresses, FddiCreateFilter, MacAddAdapter, NdisAcquireSpinLock