NdisImmediateWriteSharedMemory

VOID
   NdisImmediateWriteSharedMemory(
       IN NDIS_HANDLE
WrapperConfigurationContext,
       IN ULONG SharedMemoryAddress,
       IN PUCHAR Buffer,
       IN ULONG Length
       );

NdisImmediateWriteSharedMemory writes a specified number of bytes from a caller-supplied buffer to shared device RAM.

Parameters

WrapperConfigurationContext

Specifies the handle passed to MiniportInitialize.

SharedMemoryAddress

Specifies the bus-relative base address of the shared device memory range.

Buffer

Points to a caller-allocated buffer containing the data to be written to the device memory range starting at SharedMemoryAddress.

Length

Specifies the size in bytes of the buffer at Buffer and, therefore, how many bytes of data to transfer to device RAM.

Comments

NdisImmediateWriteSharedMemory determines how the host accesses shared device memory, maps the bus-relative base address, and then copies Length bytes of data from the given buffer to the device memory area.

A miniport driver can call NdisImmediateWriteSharedMemory during initialization to transfer data to a range of device memory when that driver has not yet called NdisMMapIoSpace to obtain mapped virtual addresses for the bus-relative device memory range. After its call to NdisMMapIoSpace, the driver uses the returned mapped virtual addresses in PIO operations.

Callers of NdisImmediateWriteSharedMemory run at IRQL PASSIVE_LEVEL.

See Also

MiniportInitialize, NdisImmediateReadSharedMemory, NdisMMapIoSpace