阅读:1615回复:6
一个简单问题,关于内存分配的
在中间层的IRQL <= DISPATCH_LEVEL 上,我要分配一个象C中的
char *string; string = malloc(10); 这样的功能的语句,该用怎么样的NDISXXX函数啊? 好象都要到分配好的内存池里去分配,有没有直接就分配的? NdisAllocateMemory? NdisAllocateMemoryWithTag? 好象都是到内存池里去分配的吧 |
|
沙发#
发布于:2002-11-27 14:13
PVOID
ExAllocatePool( IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes ); 其中PoolType一般应该用NonPagedPool. 使用完毕要记得用ExFreePool 释放内存 |
|
|
板凳#
发布于:2002-11-28 09:38
用RtlInitUnicodeString
|
|
|
地板#
发布于:2002-11-29 13:18
在 passthru 里面用 ExAllocatePool 分配内存,也包含了头文件
为什么总说 ExAllocatePool 没定义呀 |
|
地下室#
发布于:2003-07-21 14:33
我也有同样的问题:
在xpassthru中的recv.c文件中需要用到malloc和free,我在文件开头#include <stdio.h>、#include <malloc.h>了。但是出现link错误: recv.obj() : error LNK2001: unresolved external symbol __imp__free recv.obj() : error LNK2001: unresolved external symbol __imp__malloc 请问为什么!? |
|
5楼#
发布于:2003-07-21 18:42
可以用ndisallocatememory(),完全代替MALLOC
如果用malloc的话,好象要包含头文件<STRING.H>, [编辑 - 7/21/03 by antspower] [编辑 - 7/22/03 by antspower] |
|
|
6楼#
发布于:2003-07-22 09:41
谢谢回复帖子,问题还是一样,malloc原型所在的头文件是<malloc.h>,至于为什么要包含<stdlib.h>我就不是很清楚了。你的建议我会试的,谢谢!
|
|