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 仅允许任何一个特定文件的映射未完成。 因此,在 NdisUnmapFile 或调用 NdisCloseFile 函数之前,成功调用方才有权访问文件数据。

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

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

要求

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

另请参阅

MiniportInitializeEx

NdisCloseFile

NdisOpenFile

NdisUnmapFile