GetLogicalProcessorInformation と 旧 Windows
Windows XP SP3以降で使える関数として、
GetLogicalProcessorInformation というのが、 kernel32.dllにあります。
しかし、 KB936235 以降の kernel32.dllおよび ntoskrnl.exe が含まれていれば、Windows XP SP2でも関数を利用できるようです。
ハイパースレッディング対応の物理プロセッサの数または物理的なマルチコア プロセッサの数が誤ってでは、Windows XP で報告されます。
928388 の更新プログラムを適用し、Windows XP および Windows Server 2003 での 2007年より前である年に、時間設定を変更した後、タイムスタンプが正しくありません。
ただ、この関数を利用するためには、ntdll.dll の NtQuerySystemInformation が SystemLogicalProcessorInformation (0x49) に対応している必要があります。
ntdll は NTOSKRNL.EXE にそのまま投げられるので、実質、NT KERNEL 部分で対応していないと使えないわけです。 kdw 0.92c でGetLogicalProcessorInformation を追加しましたが、ntoskrnel.EXEでインプリメントされていないのでエラーになってしまいます。
Comments