the equivalent of malloc is ExAllocatePool. I would guess you will need
NonPagedPool. As for what you can allocate, you can do wahtever you want, it
is just C after all. You can allocate any size pointer you want from
NonPagedPool. If you don't know what a page is or what PAGE_SIZE means, you
really should educate yourself before you ever step foot into kernel mode.
d
"chiara" <tchiara81.RemoveThis@libero.it> wrote in message
news:1178363212.228710.118120@w5g2000hsg.googlegroups.com...
> Hi all, I'm approaching in the development of windows drivers and I'm
> trying to modify the passthru driver provided in the Windows Driver
> Development Kit.
>
> In particular I have some problems in memory allocation. I have to
> memorize into the passthru driver packets received from driver
> Tcpip.sys before sending them through the NIC. Once I have memorized
> the bytes of the packets I can send them, but I have also to operate
> into the allocated zone of memory modifying its content.
>
> I don't know if I can use the function malloc() to allocate a zone of
> memory into the driver because I try to use it but when I build the
> driver I have the error unresoved external symbol _imp_malloc
> It is possible to create a pointer to an array of pointers to memorize
> the packets before sending it? If yes, can I use the function malloc()
> to allocate memory?
>
> I read also that the routine ExAllocatePool() is used to allocate pool
> memory in windows drivers. Can I use it to memorize a large quantity
> of bytes before sending it through the NIC? If yes, what is the
> type of pool memory I have to allocate, non paged or paged? I read
> that the system can only allocate buffers larger than PAGE_SIZE from
> nonpaged pool in multiples of PAGE_SIZE but I don't understand what is
> the value of PAGE_SIZE.
>
> Is there anyone that can help me?
>
> Thank you,
>
> Chiara
>
>> Stay informed about: Memory allocation in windows kernel driver