NdisCreateLookaheadBufferFromSharedMemory

VOID
NdisCreateLookaheadBufferFromSharedMemory(

IN PVOID pSharedMemory,
IN UINT LookaheadLength,
OUT PVOID *pLookaheadBuffer
);

NdisCreateLookaheadBufferFromSharedMemory returns the virtual address of a buffer within a block of memory shared with a busmaster DMA NIC.

Parameters

pSharedMemory

Specifies the base address of the shared memory range containing the data for the lookahead buffer.

LookaheadLength

Specifies the length in bytes for the lookahead buffer.

pLookaheadBuffer

Points to a caller-supplied variable in which this function returns the virtual address of the lookahead buffer.

Comments

NdisCreateLookaheadBufferFromSharedMemory provides a lookahead buffer that is a virtual memory copy of shared memory for miniport receive indications. To bound protocol drivers, such a lookahead buffer represents a read-only version of the shared memory.

This function accommodates system architectures that do not allow the NIC driver to read shared memory on a network interface card directly.

Callers of NdisCreateLookaheadBufferFromSharedMemory run at any IRQL.

See Also

MiniportHandleInterrupt, MiniportTimer, NdisDestroyLookaheadBufferFromSharedMemory, NdisMArcIndicateReceive, NdisMEthIndicateReceive, NdisMFddiIndicateReceive, NdisMTrIndicateReceive, NdisMWanIndicateReceive, ProtocolReceive