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