EthFilterIndicateReceive

This function is called by a network adapter driver to indicate a received packet to all filter library database bindings associated with an Ethernet address.

VOID EthFilterIndicateReceive(
IN PETH_FILTER Filter,
IN NDIS_HANDLE MacReceiveContext,
IN PCHAR Address,
IN PVOID HeaderBuffer,
IN UINT HeaderBufferSize,
IN PVOID LookaheadBuffer,
IN UINT LookaheadBufferSize,
IN UINT PacketSize );

Parameters

  • Filter
    Pointer to a previously created and initialized filter library database.
  • MacReceiveContext
    Specifies a context that the network adapter driver associates with a packet received from the network.
  • Address
    Pointer to the destination address that the network adapter driver has already extracted from the received packet.
  • HeaderBuffer
    Pointer to the virtual address of the virtually contiguous buffer containing the packet header. The buffer is valid only within the current call to this function.
  • HeaderBufferSize
    Indicates the length, in bytes, of the packet header.
  • LookaheadBuffer
    Pointer to the virtual address of the virtually contiguous buffer containing the first bytes of packet data. The packet buffer is valid only for the current call to this function.
  • LookaheadBufferSize
    Specifies the size, in bytes, of the look-ahead buffer.
  • PacketSize
    Specifies the size, in bytes, of the received packet data. This parameter number is not related to the look-ahead buffer, but rather indicates the size of the received packet data. This allows a protocol driver to call the NdisTransferData function and to transfer data in the packet, as necessary. The data length does not include the packet header length.

Remarks

Instead of calling NdisIndicateReceive without filtering, the network adapter driver calls this function to filter a received packet so that only the appropriate bindings receive it. This function then calls the ProtocolReceive function of each protocol driver to which the binding filter applies.

In its calls to ProtocolReceive, this function passes each protocol driver a pointer to the packet header as well as a pointer to some or all of the packet data. The protocol driver can inspect the header and data in the packet, optionally copy as much of the header or data as is visible, or optionally call NdisTransferData to instruct the network adapter driver to copy the data into a protocol-supplied packet.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 2.0 and later Ndis.h   Ndislib.lib

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

EthFilterIndicateReceiveComplete, NdisMEthIndicateReceive, NdisTransferData, ProtocolReceive

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.