NdisMapFile

VOID
NdisMapFile(
OUT PNDIS_STATUS Status,
OUT PVOID *MappedBuffer,
IN NDIS_HANDLE FileHandle
);

NdisMapFile maps an already open file into a caller-accessible buffer if the file is currently unmapped.

Parameters

Status

Points to a caller-supplied variable in which this function returns the status of the mapping operation, which can be one of the following:

NDIS_STATUS_SUCCESS

The caller has exclusive access to the file contents until NdisUnmapFile is called.

NDIS_STATUS_ALREADY_MAPPED

The caller cannot access the file contents at this time.

MappedBuffer

Points to a caller-supplied variable in which this function returns the base virtual address of the mapped file contents or NULL.

FileHandle

Specifies the handle returned by a preceding call to NdisOpenFile.

Comments

NdisMapFile associates (maps) a virtual address range with an opened file so the driver can access the file contents. NdisMapFile allows only one mapping of a particular file to be outstanding at any time. Consequently, a successful caller is given exclusive access to the file data until NdisUnmapFile or NdisCloseFile is called.

A NIC driver can map and unmap such an open file as necessary, using alternating calls to NdisMapFile and NdisUnmapFile. A call to NdisCloseFile releases the FileHandle and deallocates the buffer containing the file contents.

A NIC driver can call NdisMapFile only during initialization.

Callers of NdisMapFile run at IRQL <= DISPATCH_LEVEL.

See Also

DriverEntry of NDIS Protocol Drivers, MiniportInitialize, NdisCloseFile, NdisOpenFile, NdisUnmapFile