バッファローのUSB高速化技術「TurboUSB」の実力
~外付けHDDで40MB/sec超
CrystalDiskMark はプログラム的には CrystalMark/CPUID と比較してずっと単純ですが、丁寧に作りこんだつもりなので色々なところで使っていただけるのは大変うれしいです。
バッファローのUSB高速化技術「TurboUSB」の実力
~外付けHDDで40MB/sec超
CrystalDiskMark はプログラム的には CrystalMark/CPUID と比較してずっと単純ですが、丁寧に作りこんだつもりなので色々なところで使っていただけるのは大変うれしいです。
開発状況
デバイスドライバがうまくロードできず悩みに悩んで試行錯誤したのですが、結論!!
ドライバをロードする前に、今までのサービスの残骸を削除しておきましょう。
ということみたいです。
えっ?今まではどうしていたのかって?グッドグエスションです。SysInfo.dll は initialize() 関数を何度も呼び出して成功するのを待っていたわけです。(2回やれば大抵通るような気がする)
SysInfo.dll は今更修正できない?ので、OpenLibSys の進展にご期待ください。
そろそろデモプログラムをリリースしたいところ・・・。
開発状況
とりあえず、テスト用実行ファイルを作ってみたもののデバイスドライバが一発でロードできず撃沈。できないわけはないんでまた明日がんばります。。。
今日は NT 用デバイスドライバと DLL の開発を進めました。SysInfo や DDK のサンプルコードを参照しながら作業を進めています。
開発状況
NT 用ドライバについても一応完成したつもりではありますが、一度も試していないので・・・。DLL の開発はもうちょっと時間がかかりそうです。
備忘録を兼ねてメモメモ。
今日は、こんなページを見つけました。
Windows Internals II - Kernel-mode extensions 補足資料
なんだか、ずいぶんわかりやすい資料だなぁ~と思いドメインをチェックしてみると天下の u-tokyo.ac.jp ではありませんか!!
しかも、以下の一文が輝いてます。
この節では,まず,環境設定やDDK の基本的な使い方について述べる.次に,Windows 上でプログラムをしたことがない人もいるかもしれないということで,Windows プログラムの基礎的な事項について説明する.
初めての Windows プログラムが DDK って・・・。
それより何より、メインの資料が英語なんですけど???ひょっとしてなくても英語で授業ですか。そうですか・・・。しかも、英語でディスカッションの時間もあるんですね・・・。
OpenLibSys の開発は順調にすすんでいるのでここで目標を宣言と・・・。
OpenLibSys Core SDK
OpenLibSys SDK
今日は 「READ_PORT_UCHAR」をキーワードに google で検索してのですが、以下の素敵なページを発見しました。
で、気がついたのですが。 RDMSR とか WRMSR とかではなく、(マニアックな)API 名や READ_PORT_UCHAR のようなマクロ名で調べると良いのかも。
色々書き直したら SysInfo のこーどよりずっとすっきりしました。
__readmsr() が使えるのは便利ですねぇ。
NTSTATUS
ReadMSR( ULONG IoctlCode,
void *lpInBuffer,
ULONG nInBufferSize,
void *lpOutBuffer,
ULONG nOutBufferSize,
ULONG* lpBytesReturned)
{
#ifndef _NT4
try{
#endif
ULONGLONG data = __readmsr(*(ULONG*)lpInBuffer);
memcpy((PULONG)lpOutBuffer, &data, 8);
*lpBytesReturned = 8;
return STATUS_SUCCESS;
#ifndef _NT4
}
except(EXCEPTION_EXECUTE_HANDLER)
{
*lpBytesReturned = 0;
return STATUS_UNSUCCESSFUL;
}
#endif
}