NdisMapFile 函数 (ndis.h)

如果文件当前未映射, 则 NdisMapFile 函数将已打开的文件映射到调用方可访问的缓冲区中。

语法

void NdisMapFile(
  [out] PNDIS_STATUS Status,
  [out] PVOID        *MappedBuffer,
  [in]  NDIS_HANDLE  FileHandle
);

参数

[out] Status

指向调用方提供的变量的指针,此函数在该变量中返回映射操作的状态,可以是下列值之一:

NDIS_STATUS_SUCCESS

调用方对文件内容具有独占访问权限,直到调用 NdisUnmapFile 函数。

NDIS_STATUS_ALREADY_MAPPED

调用方此时无法访问文件内容。

[out] MappedBuffer

指向调用方提供的变量的指针,在该变量中,此函数返回映射的文件内容的基虚拟地址或 NULL

[in] FileHandle

先前对 NdisOpenFile 函数的调用返回的句柄。

返回值

备注

NdisMapFile 将虚拟地址范围) (映射与打开的文件相关联,以便驱动程序可以访问文件内容。 NdisMapFile 随时只允许特定文件的一个映射未完成。 因此,在调用 NdisUnmapFileNdisCloseFile 函数之前,向成功的调用方授予对文件数据的独占访问权限。

微型端口驱动程序可以根据需要使用对 NdisMapFile 和 NdisUnmapFile 的交替调用来映射和取消映射此类打开 的文件。 调用 NdisCloseFile 会释放 FileHandle 并解除分配包含文件内容的缓冲区。

微型端口驱动程序只能在初始化期间调用 NdisMapFile

要求

要求
最低受支持的客户端 支持 NDIS 6.0 和 NDIS 5.1 驱动程序 (请参阅 Windows Vista 中的 NdisMapFile (NDIS 5.1) ) 。 NDIS 5.1 驱动程序支持 (请参阅 Windows XP 中的 NdisMapFile (NDIS 5.1) ) 。
目标平台 通用
标头 ndis.h (包括 Video.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_Miscellaneous_Function (ndis)

另请参阅

MiniportInitializeEx

NdisCloseFile

NdisOpenFile

NdisUnmapFile