TrChangeGroupAddress

NDIS_STATUS
   TrChangeGroupAddress(
       IN PTR_FILTER Filter,
       IN NDIS_HANDLE NdisFilterHandle,
       IN PNDIS_REQUEST NdisRequest,
       IN CHAR GroupAddressArray[TR_LENGTH_OF_FUNCTIONAL],
       IN BOOLEAN Set
       );

TrChangeGroupAddress is called by the NIC driver to change the overall network interface card group address associated with a Token Ring binding filter.

Parameters

Filter

Points to the previously created and initialized filter library database.

NdisFilterHandle

Specifies the handle that the filter library associates with the binding filter.

NdisRequest

Points to a request structure this function passes to a NIC driver action function.

GroupAddressArray[TR_LENGTH_OF_FUNCTIONAL]

Specifies the array containing the new network interface card group address for the binding filter.

Set

Specifies TRUE if the address change does not result from the closing of the binding. This function does not use Set but passes it to a NIC driver action function.

Return Value

Possible return values include:

NDIS_STATUS_PENDING
NDIS_STATUS_RESET_IN_PROGRESS
NDIS_STATUS_SUCCESS

Comments

The NIC driver must be holding the filter library spinlock when it calls this function.

If TrChangeGroupAddress needs to change the bitmap for the group address, it calls the NIC driver’s MacChangeGroup function.

When TrChangeGroupAddress calls MacChangeGroup, it returns the status code that the latter returns. If MacChangeGroup returns a status code other than NDIS_STATUS_PENDING or NDIS_STATUS_SUCCESS, the call to TrChangeGroupAddress has no effect on the network interface card or its group address.

If TrChangeGroupAddress does not call MacChangeGroup, it returns NDIS_STATUS_SUCCESS. This status code indicates that the new group address does not change the combined mask of all binding filters.

Callers of TrChangeGroupAddress run at IRQL DISPATCH_LEVEL.

See Also

MacChangeGroup