NdisMapFile function

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

Syntax


VOID NdisMapFile(
  _Out_  PNDIS_STATUS Status,
  _Out_  PVOID * MappedBuffer,
  _In_   NDIS_HANDLE FileHandle
);

Parameters

Status [out]

A pointer 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 the NdisUnmapFile function is called.

NDIS_STATUS_ALREADY_MAPPED

The caller cannot access the file contents at this time.

MappedBuffer [out]

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

FileHandle [in]

The handle that was returned by a preceding call to the NdisOpenFile function.

Return value

None

Remarks

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 the NdisCloseFile function is called.

A miniport 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 miniport driver can call NdisMapFile only during initialization.

Requirements

Version

Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisMapFile (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisMapFile (NDIS 5.1)) in Windows XP.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

DDI compliance rules

Irql_Miscellaneous_Function

See also

MiniportInitializeEx
NdisCloseFile
NdisOpenFile
NdisUnmapFile

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft