Re: RtlAllocateHeap

From
Alex Fedotov ()
To
Alexey Nevolin
Date
2001-03-13T08:13:04Z
Area
SU.WINDOWS.NT.PROG
From: "Alex Fedotov" <alexf@3cube.com>

Alexey Nevolin wrote:

> >> NTSYSAPI
> >> HANDLE
> >> NTAPI
> >> RtlCreateHeap (
> >>     IN ULONG   Flags,
> >>     IN PVOID   Base,
> >>     IN ULONG   Reserve,
> >>     IN ULONG   Commit,
> >>     IN ULONG   Lock,
> >>     IN PVOID   RtlHeapParams);

>  AF> Что такое Base вроде тоже понятно. Это базовый адрес создаваемой
>  AF> кучи.
> А от чего этот адрес считается? (это-же не физический адрес)

Это адрес в адресном пространстве процесса, который вызывает RtlCreateHeap.
VirtualAlloc помнишь? Там такой же параметр есть.

>  AF>     memset( &heapParams, 0, sizeof( RTL_HEAP_DEFINITION ));
>  AF>     heapParams.Length = sizeof( RTL_HEAP_DEFINITION );
>  AF>     Heap = RtlCreateHeap( 2, 0, 0x100000, 0x1000, 0, &heapParams );
> Вот и пойми, к чему там те параметры? Слушай, может у тебя какие сырцы
> есть?

Единственные сырцы, которые я видел, я нашел вчера на www.sysintenals.com. С
другой стороны, я не совсем понимаю твою проблему. Если тебе надо просто
создать кучу, вызывай ее так, как это делает HeapCreate или как показано у
Руссиновича. А если надо не просто вызвать, то что надо?

--
Alex Fedotov.


--- ifmail v.2.15dev5
 * Origin: 3Cube, Inc. (www.3cube.com) (2:5020/400)