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