2月 06

おかげさまで、OpenLibSys.org は 10 万ヒットを達成しました。

そろそろ WinRing0 の上位版である OpenLibSys の開発も再開したいところです。って、去年も言っていたような気がするけど。

12月 05

WinRing0 最新版のダウンロードは、OpenLibSys.org からどうぞ~

【変更点】

先日、ドイツの開発者から C# のサンプルが動作しないという連絡がありました。う~ん、なんでだろと思っていたら翌日解決策がその方から届きました。

p.IsInRole(@”BUILTIN\Administrators”);


p.IsInRole(WindowsBuiltInRole.Administrator);

に変更すれば良いとのこと。どうやら、ドイツ語版の Windows では、管理者権限のグループが Administrators ではなく別の単語(ドイツ語)のようです。というわけで、海外でも使われるソフトの開発を目指す方はサクッと修正を・・・すんません。なお、C++ のサンプルコードは、マニフェストで管理者権限を要求するようにしているので問題なしです。

【ひとりごと】

久しぶりに SourceForge.net にログインしたところいくつか気が付いたのでメモメモと

  • ファイルのアップデートが Web 上から行えるようになってます。(今までは一度匿名  FTP サイトにアップロードしてから管理画面で選択する必要がありました。)
  • デザインがとってもすっきりしています。
  • IE8 だと一部管理画面が乱れるような・・・。

SourceForge.JP の方が日本人には断然便利かと思いますが、一つぐらい SourceForge.net にホストしてもらうのも良いのかも???とはいえ、注目度は全然あがりませんけどw

あと、ユーザーからの評価でこんなコメントがありました。

The driver uses Microsoft deprecated kernel APIs such as HalGetBusDataByOffset/HalSetBusDataByOffset. There might be a chance the driver will not work if APIs are no longer exposed.

うっ。痛いところをw ホント次のカーネルで NT4 まで使えた Kernel Mode APIs が廃止されると・・・ヤヴァイです。WinRing0 の PCI 関連 API が動作しなくなります。互換戦略の弊害が顕在化する日も近い!? MS さんにはぜひぜひ惰性で HalGetBusDataByOffset/HalSetBusDataByOffset のサポートを続けていただきたいところです。

11月 27

*2009/12/26 10:12 追記:ダウンロードファイルを差し替えました。

Tech Fielders セミナー 札幌 道場スタイル[Windows Server 2008 R2 仮想環境構築編] で LT を行いました。

その際に使用しました VirtualChecker WPF (サンプルコード) を公開します。WPF で作ったものの WPF らしい機能は何も使っていません。

ご興味のある方はソースも簡単なので眺めてみてください。と、言いつつ VisualStudio 2010 Beta2 用ソリューションしかついていません。ごめんなさい。

VirtualCheckerWpf01

ダウンロード

5月 24

※ダウンロードは、OpenLibSys.org  からお願いします。

【主な修正点】

  • Visual Studio 2008/2010 への対応強化
    2005/2008/2010 用のソリューションファイルを別々に用意しました。
  • CPUID 命令発行時の ECX レジスタを常に 0 となるよう修正
  • OlsApi.h の不備を修正 (HltPx)
  • 256×256 アイコンの適用

【ひとりごと】

  • サンプルコードも微妙に更新しています。
5月 22

index として EAX しか設定できないという問題があります。

Visual C++ が提供している __cpuid() 自体の問題ではあるのですが・・・。CPUID 命令実行時の ECX レジスタの値は本質的に不定となります。

32bit だけならインラインアセンブラを使って

__asm {mov ecx, XXX}
__cpuid()

で ECX レジスタの値を設定可能ですが、x64 ではインラインアセンブラが使えないためこのような簡単な方法は存在しません。CrystalCPUID4 が使用している SysInfo.dll では、師匠であるぬじぬじ氏に制作していただいた CPUID 命令発行用アセンブラから生成したオブジェクトコードをリンクしています。

ECX 入力に対応するとなると API 変更が必要になるのでまたしてもマイナーバージョンが変更となります。

ホント、新機能の(ほとんど無い)ライブラリのバージョンアップって迷惑ですよねぇ~開発者からみると。でもやるっきゃない。WinRing0 のユーザーはまだそんなに多くないのでやるなら早い方が良いですね。

最初っからわかってはいたことなのですが・・・。忘れてたけどw

5月 09

OpenLibSys.org をほんのり更新しました。

  • WinRing0 に関する記事のリンクをトップページに追加
  • オープンソースでの開発を推奨するメッセージをさりげなく?追加
  • マイクロソフトさんからのインタビュー記事へのリンクを追加

などなど、オープンソース開発者(仲間)を増やすべくがんばります。

OpenLibSys.org はこれからが本番ですよ。(新ネタはないけどw)

5月 04

systemmonitor

 Moo0 さんから WinRing0 を使用した  Moo0 システムモニター がリリースされています。サイドバーの代わりに常駐させておくのにピッタリなサイズですし、見た目も綺麗でカスタマイズ可能です。

CPU 使用率やプロセス数など様々な情報が表示できますが、一般的な情報だけでなく CPU 温度の取得にも対応しています。

3月 07

※ダウンロードは、OpenLibSys.org  からお願いします。

【主な修正点】

  • スレッドアフィニティマスクを設定した上で特定の x86 命令を実行する API を ****Ex から ****Tx に変更
    T は Thread の T です。プロセスアフィニティマスクの設定によっては失敗するので、エラーチェックを忘れずに!!
  • プロセスアフィニティマスクを設定した上で特定の x86 命令を実行する ****Px 系 API を新設
    P は Process の P です。
  • ReadDmiMemory を廃止
  • マニュアルを修正
  • サンプルコードをアップデート 

【ひとりごと】

  • WinRing0 の使い方を説明する記事もそろそろ用意したいところです。(当然日本語のみですが)
  • SourceForge.net:WinRing0 も久しぶりに更新しました。ファイルを更新しただけですが。
3月 05

【変更点】

  • スレッドアフィニティマスクを設定した上で特定の x86 命令を実行する API を ****Ex から ****Tx に変更
    API 名を変更ってどんだけ計画性がないんだ……ちなみに、T は Thread の T です。プロセスアフィニティマスクの設定によっては失敗するので、エラーチェックを忘れずに!!
  • プロセスアフィニティマスクを設定した上で特定の x86 命令を実行する ****Px 系 API を新設
    P は Process の P です。わかりやすいでしょ?ちなみに、****Tx よりも ****Px の方がちょっぴり重いです。
  • ReadDmiMemory を廃止しました。
    デジタル署名がない以上やむを得ないでしょう。
  • マニュアルの誤字を修正しました。

【先行ダウンロード】

  • WinRing0 1.3.0 ?
    WinRing0 ユーザーはとても少ないと思うので短期間のテストにほとんど意味はないと思いますが一応ちょっとだけテスト期間を設けます。もしも、バグ等見つかればバージョンを変えずに修正予定です。

【ちなみに】

CrystalCPUID 5 -Estel- で使用する OpenLibSys は WinRing0 1.3 をベースに多くの機能を追加実装することになります。なので、WinRing0 1.3 の品質はとても重要なのです!!

3月 01

【進捗状況】

  • WinRing0 1.3.0 : 100%
  • WinRing0 C++ Sample : 100%
  • WinRing0 C# Sample : 100%
  • OlsMsrEditor : 100%
  • マニュアル : 50% (日本語準備完了?)
  • Web サイト : 0%

というわけで、マニュアルと公開ページの準備ができていないため、リリースはもう少し先の予定です。