RtlAllocateHeap

From
Alexey Nevolin (2:5030/1272.64)
To
Alex Fedotov
Date
2001-03-12T00:34:04Z
Area
SU.WINDOWS.NT.PROG
*** Ответ на письмо из арии CC.FOR.ME (CC.FOR.ME).

 ■ Hi there, Alex !

 ■ Сдаунлоадив Holodisk в свой Pip-Boy 2000 я обнаружил, что в 11 Mar 01 05:35, Alex Fedotov писал Alexey Nevolin:

 >> NTSYSAPI
 >> PVOID
 >> NTAPI
 >> RtlAllocateHeap (
 >>     IN HANDLE  HeapHandle,
 >>     IN ULONG   Flags,
 >>     IN ULONG   Size );
 >>
 >> Внимание, вопрос! Какого рода HeapHandle ей надо передавать и какие
 >> значения валидны для флагов?
 AF> Всем известная HeapAlloc -- ни что иное, как форвардер прямиком в
 AF> RtlAllocateHeap. Поэтому, читай ее документацию, там все написано.
Всем известной HeapCreate передается 3 параметра. А этому чуду (RtlCreateHeap) целых 6.

─── Тут начинается файл Windows Clipboard ───
NTSYSAPI
HANDLE
NTAPI
RtlCreateHeap (
    IN ULONG   Flags,
    IN PVOID   Base,
    IN ULONG   Reserve,
    IN ULONG   Commit,
    IN ULONG   Lock,
    IN PVOID   RtlHeapParams);
─── А здесь Windows Clipboard кончается ───
Что такое Flags, Reserve, Commit - понятно (флаги, сколько максимально, сколько надо). А остальное??? В kernel32.dll это все выглядит так:

─── Тут начинается файл Windows Clipboard ───
▓    kernel32.dll  FRO   PE.77F12C8E a32 --------   374544 ║ Hiew 6.55 (c)SEN
▓.77F12C5E: B510                         mov         ch,010 ;""
▓.77F12C60: 8B7D10                       mov         edi,[ebp][00010]
▓.77F12C63: 3BF8                         cmp         edi,eax
▓.77F12C65: 7310                         jae        .077F12C77   -------- (1)
░.77F12C67: 85FF                         test        edi,edi
░.77F12C69: 750A                         jne        .077F12C75   -------- (2)
░.77F12C6B: C1E004                       shl         eax,004 ;""
░.77F12C6E: 80C902                       or          cl,002 ;""
░.77F12C71: 8BD0                         mov         edx,eax
░.77F12C73: EB02                         jmps       .077F12C77   -------- (3)
░.77F12C75: 8BF8                         mov         edi,eax
░.77F12C77: 85D2                         test        edx,edx
░.77F12C79: 7508                         jne        .077F12C83   -------- (4)
░.77F12C7B: 3B7D0C                       cmp         edi,[ebp][0000C]
░.77F12C7E: 7303                         jae        .077F12C83   -------- (5)
░.77F12C80: 8B7D0C                       mov         edi,[ebp][0000C]
░.77F12C83: 6A00                         push        000
░.77F12C85: 6A00                         push        000
░.77F12C87: FF750C                       push        d,[ebp][0000C]
░.77F12C8A: 57                           push        edi
░.77F12C8B: 6A00                         push        000
░.77F12C8D: 51                           push        ecx
░.77F12C8E: FF155CC2F377                 call        RtlCreateHeap ;ntdll.dll
░1Help   2PutBlk 3Edit   4Mode   5Goto   6Refer  7Search 8Header 9Files 10Quit
─── А здесь Windows Clipboard кончается ───

Т.е. оно опускает (заранее нули) все остальные параметры. А что это за параметры?

 ■ cul8r Alex
 ■ wbr Alexey Nevolin.

  [Tuborg][ESP][Drums][WinNT][Sun Solaris][OS/2][Quake3][Scorpions][Metallica]
                    [FML366][Iron Maiden][RU.METALLICA]
... lurking in a dismal fog, hungry for your blood...
--- GoldEd 3.00a5/[w32] // Welcome to RU.METALLICA
 * Origin: Page Fault Station (2:5030/1272.64)