Windows の Standard Objects について

Windows XP以降には、CreateMemoryResourceNotification、 QueryMemoryResourceNotification という関数があって、Visual Studio 2010などで利用されています。

Standard Event Objects

XP以降には
\KernelObjects\HighMemoryCondition
メモリ使用量が一定量を超えたときのイベント用(NTKERNEL)
\KernelObjects\LowMemoryCondition
メモリ使用量が一定量を下回ったときのイベント用(NTKERNEL)
\KernelObjects\CritSecOutOfMemoryEvent
クリティカルセクションメモリがなくなった時のイベント(NTDLL)

2003以降には
\KernelObjects\HighPagedPoolCondition
\KernelObjects\LowPagedPoolCondition
\KernelObjects\HighNonPagedPoolCondition
\KernelObjects\LowNonPagedPoolCondition

Vista以降には
\KernelObjects\LowCommitCondition
\KernelObjects\HighCommitCondition
\KernelObjects\MaximumCommitCondition

があります。

          mov    [ebp-50h],edi
          mov    [ebp-4Ch],ebx
          mov    [ebp-44h],ebx
          mov    [ebp-48h],ebx
          mov    [ebp-40h],ebx
          mov    [ebp-3Ch],ebx
          call    PsCreateSystemThread
          test    eax,eax
          jl     L005DBDE3
          push    [ebp-30h]
          call    ZwClose
          call    SUB_L005EE901
          test    eax,eax
          jz     L005DBDE3
          push    ebx
          push    L0040F5B3
          push    ebx
          mov    eax,L004909E8
          mov    [L004909EC],eax
          mov    [L004909E8],eax

XP

          mov    [ebp-24h],edi
          mov    [ebp-20h],ebx
          mov    [ebp-18h],ebx
          mov    [ebp-1Ch],ebx
          mov    [ebp-14h],ebx
          mov    [ebp-10h],ebx
          call    PsCreateSystemThread
          test    eax,eax
          jl     L005564C1
          push    [ebp-0Ch]
          call    ZwClose
          mov    eax,L00481C68
          push    ebx
          mov    [L00481C6C],eax
          mov    [L00481C68],eax

2000

2000にはこの処理がすっぽりありませんね。
kernelObjectsというの自体なさそうです

Memory Management Functions

CritSecOutOfMemoryEvent. 自体はイベントビューアなどで見ることができます

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です