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) |