Quakexg
驱动小牛
驱动小牛
  • 注册日期2001-11-21
  • 最后登录2012-02-29
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望56点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
阅读:1560回复:6

一个简单问题,关于内存分配的

楼主#
更多 发布于:2002-11-27 11:49
在中间层的IRQL <= DISPATCH_LEVEL 上,我要分配一个象C中的
char *string;
string = malloc(10);

这样的功能的语句,该用怎么样的NDISXXX函数啊?
好象都要到分配好的内存池里去分配,有没有直接就分配的?

NdisAllocateMemory?
NdisAllocateMemoryWithTag?
好象都是到内存池里去分配的吧
diesnak
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2002-12-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-27 14:13
PVOID
  ExAllocatePool(
    IN POOL_TYPE  PoolType,
    IN SIZE_T  NumberOfBytes
    );
其中PoolType一般应该用NonPagedPool.
使用完毕要记得用ExFreePool 释放内存
I believv i can fly I believe i can touch sky
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-28 09:38
用RtlInitUnicodeString
生命驱动,活力无限!
nflx
驱动牛犊
驱动牛犊
  • 注册日期2002-10-17
  • 最后登录2006-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-29 13:18
在 passthru 里面用 ExAllocatePool 分配内存,也包含了头文件
为什么总说 ExAllocatePool 没定义呀
guitar_string
驱动牛犊
驱动牛犊
  • 注册日期2003-06-04
  • 最后登录2004-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于: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

请问为什么!?
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-21 18:42
可以用ndisallocatememory(),完全代替MALLOC
如果用malloc的话,好象要包含头文件<STRING.H>,

[编辑 -  7/21/03 by  antspower]

[编辑 -  7/22/03 by  antspower]
放弃瘟草,现吃李草
guitar_string
驱动牛犊
驱动牛犊
  • 注册日期2003-06-04
  • 最后登录2004-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-22 09:41
谢谢回复帖子,问题还是一样,malloc原型所在的头文件是<malloc.h>,至于为什么要包含<stdlib.h>我就不是很清楚了。你的建议我会试的,谢谢!
游客

返回顶部