Windows 2000 拡張カーネル v3.1i リリース

Windows 2000 Kernel32 改造計画【BM】

拡張カーネル v3.1i をリリースしました

以下は変更点

DebugファイルからAdvapi32.dllを削除して、gdi32.dll を追加。
(DebugViewが動作しなくなることを確認しているので注意)
gdiplus.dll の nosse2版が nosse2ではなかったので対応バージョンまで戻した。
カスタマイズツールのデバッグに追従
IEのアップデート展開時に出るダイアログを抑制
comdlg32.dll を XP版に差し替え
msdelta.dll/jscript.dll/vbscript.dll/gdiplus.dll を最新版に差し替え
wevtapi.dll に以下のStub関数追加
EvtOpenLog
EvtGetLogInfo
EvtClearLog
ws2_32.dll の inet_pton / InetPtonW の不具合修正
NTDLLに fs:[2ch]のクラッシュ問題を修正する機能を実装
SetSHF.exe のローケルのバグを修正
kernel32.dllに以下の stub関数追加
FlushProcessWriteBuffers
SubmitThreadpoolWork
CloseThreadpoolWork
CloseThreadpoolTimer
CloseThreadpoolWait
WaitForThreadpoolTimerCallbacks
FreeLibraryWhenCallbackReturns
CreateThreadpoolWork
CreateThreadpoolTimer
CreateThreadpoolWait
SetThreadpoolWait
SetThreadpoolTimer

※ fs:[2ch] の修正で不具合がある環境があると報告があるのでご注意ください。
※消し飛んだので記憶を頼りに書き直した記事です。

おすすめ

1件の返信

  1. 2023年8月4日

    […] 拡張カーネル v3.1j で、XP版の comdlg32.dll を転用してみたのですが、プリンタのダイアログが表示されない以外にファイルダイアログのリストボタンが表示されない等互換性の問題が出てるのでまとめてみました。1. SHMapIDListToImageListIndexAsync を呼び出しているので SHMapPIDLToSystemImageListIndex を使った処理にしなくてはいけないが、 XPは SHMapIDListToImageListIndexAsync で処理するときに紐づける ToolBoxのハンドルを紐づけているので処理を実装する必要がある。2. XP版の shell32.dll の SHGetDesktopFolder 処理を呼び出すと、XP版の comdlg32.dll のToolBoxを動作させることはできるが、XPと2000で、アイコンリストの表示オプションに違いがあるので正常に動作しない(大きいアイコン・小さいアイコンメニューがない)3. SHGetDesktopFolder で IShellFolder インターフェイスを呼び出すと、呼び出された shell32.dll のアドレスになるだけでなく、ダイアログなどのリソースも shell32.dll から持ってくる。なので、SHMapIDListToImageListIndexAsync を実装するのが解だと思うのだけど ・ω・ うーむ […]

コメントを残す

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