<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="../../../../../css/rss/feedRss2.xsl" media="screen" type="text/xsl"?>

<rss version="2.0"> 
  <channel> 
    <title>Tamamyの釣り堀</title>  
    <link>http://ameblo.jp/tamanotsuribori/</link>  
    <description>飽きっぽい性格のＴａｍａｍｙが趣味のプログラムをネタに何か書きます</description>  
    <language>ja</language>  
    <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="self" href="http://feedblog.ameba.jp/rss/ameblo/tamanotsuribori/rss20.xml" type="application/rss+xml"/>  
    <item> 
      <title>INFファイルの修正</title>  
      <description><![CDATA[<p>
 振動機能ドライバーがVistaでインストールできない問題で<br />
報告していただいたみなさん、ありがとうございました<br />
<br />
いろいろやってみた結果今回のINFファイル修正で大丈夫だと<br />
思います<br />
<br />
原因はINFファイルに［DefaultInstall]の項目が無いことの様です<br />
２０００以降のOSはこの項目を参照しない事になってると思ったのですが<br />
Vistaはこの項目が無いとエラーになるみたいです<br />
しかも内容が空でもエラーになるので[DefaultInstall.ntx86]の内容を<br />
そのままコピペしました<br />
<br />
64ビット版では試してないので、64ビット版Vistaでエラーが起きるようなら<br />
[DefaultInstall.ntamd64]の内容をコピペしてみてください<br />
<br />
２０００以前はどうか分かりませんが、XPと７は問題無いので<br />
Vistaのバグなのか仕様なのか…<br />
<br />
<br />
ちなみに、Vistaで利用されてない方は今回の更新は関係有りません<br />
ドライバー本体はまったく修正していません<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10528580708.html</link>  
      <pubDate>Fri, 07 May 2010 21:55:17 +0900</pubDate> 
    </item>  
    <item> 
      <title>電池残量表示はじめました</title>  
      <description><![CDATA[<p>
 さきほどBluetooth版ドライバーと振動機能ドライバーとユーティリティソフトの<br />
修正を行いました<br />
<br />
<br />
Bluetooth版ドライバーは終了処理を見直しました<br />
これでサスペンド対応も以前よりは安定すると思います<br />
<br />
そのほか遅延対策（になったかは不明ですが）として<br />
実行速度の遅いスレッドをACLデータスレッドと同等にしました<br />
<br />
あと、対応が遅れていた電池残量表示にも対応しました<br />
今回の更新に含まれているSDDriverToolsと一緒に利用することで<br />
残量表示と残量低下通知（アイコン変化）が出来ます<br />
<br />
<br />
振動機能ドライバーはプロセス名取得部分のバッファサイズ計算が<br />
間違っていたのを修正しました<br />
<br />
<br />
ユーティリティソフトは上にも書きましたが電池残量表示と残量低下の<br />
通知に対応しました<br />
<br />
付属ドキュメントには書いてませんが電池残量はBluetoothの<br />
ドライバー情報から見ることが出来ます<br />
表示されているバーの長さと色で電源の状態を表しています<br />
青色　USB接続中で充電が完了した状態です<br />
水色　USB接続中で充電を行っています<br />
緑色　電池残量は十分にあります<br />
黄色　電池残量が少なくなってきました<br />
　　　　振動機能を多用する場合は残量に気をつけてください<br />
赤色　電池残量が十分ではありません<br />
　　　　なるべく早く充電を行ってください<br />
　　　　残量低下の通知はこの状態になった場合に行われます<br />
<br />
Tamamyの環境ではUSB接続で充電するとおよそ30分程度で<br />
充電が終わるようです<br />
ただし充電中は一切操作してない場合です<br />
また、充電の進捗状況は分かりませんでした<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10523136428.html</link>  
      <pubDate>Sat, 01 May 2010 21:53:11 +0900</pubDate> 
    </item>  
    <item> 
      <title>修正しました</title>  
      <description><![CDATA[<p>
 DX版ドライバーとSDDriverToolsの修正を行いました<br />

<br />

DX版ドライバーはmontさんからご報告いただいた症状への<br />

対処を行いました<br />

開発環境では同様の症状が再現しなかったため<br />

サスペンド対応時に修正した箇所の再修正を行いました<br />

今回のドライバーを試してみて同様の症状が出た場合は<br />

コメントかメールでご報告お願いします<br />

<br />

<br />

SDDriverToolsの修正は振動設定の移行機能を追加しました<br />

レジストリを操作しますので管理者権限が必要になります<br />

<br />

Windows2000で利用されている方がいらっしゃるかは<br />

分かりませんが、権限関連のWindows2000対応も行いました<br />

権限判定に利用してるAPIのIsUserAnAdminが実装されてない<br />

らしいのでWindows2000の場合は制限を解除するようにしています<br />

（ただし、テストしていません）<br />

<br />

<br />

それともう一つ、不具合がみつかりました<br />

SDDriverTools起動中にSDDriverSettingからドライバーリセットを行うと<br />

リセットに失敗します<br />

ドライバーはリセット失敗したあと復帰するので正常動作に戻るのですが<br />

HIDクラスが復帰しません<br />

<br />

このためドライバーリセットを行う場合は、どちらかのソフトのみ起動した<br />

状態で行ってください<br />

<br />

上記の症状になった場合でも再度ドライバーリセットを行うと復帰するようです<br />

（何度も試したわけではないので保証はできません）<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10515287763.html</link>  
      <pubDate>Thu, 22 Apr 2010 21:51:13 +0900</pubDate> 
    </item>  
    <item> 
      <title>バグ報告</title>  
      <description><![CDATA[<p>
 人柱版として公開中のUSB版ノーマルドライバーと振動機能ドライバーに<br />

バグがみつかりました<br />

<br />

USB版ノーマルドライバーは既に修正した物に差し替えてあります<br />

振動機能ドライバーは検証に少し時間が必要なので明日以降になると<br />

思います<br />

<br />
(4/20 21:46 追記)<br />
振動機能ドライバー修正版に差し替えておきました<br />
SDDriverToolsの方はもうちょっと待ってください<br />
<br />

<br />

バグの内容は…<br />

<br />

・USB版ノーマルドライバー<br />

　「SDDriverToolsでドライバーの状態を正しく認識できない」<br />

　ドライバー側でアプリケーションに渡す値を格納し忘れていました<br />

<br />

・振動機能ドライバー<br />

　「UACの制限でレジストリ操作ができない」<br />

　HKEY_LOCAL_MACHINE以下のレジストリ操作を行うためUACに<br />

　阻害されてしまいます（OSがVista以降）<br />

　この対処のためにHKEY_CURRENT_USER以下のレジストリに<br />

　保存先を引っ越しさせることにしました<br />

　ドライバー側で引っ越し作業は出来ないので、SDDriverToolsに<br />

　この機能を実装するために修正作業中です<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10512804008.html</link>  
      <pubDate>Mon, 19 Apr 2010 21:41:39 +0900</pubDate> 
    </item>  
    <item> 
      <title>ユーティリティソフト</title>  
      <description><![CDATA[<p>
 ユーティリティソフトも人柱版として公開しました<br />
新しい方の振動機能ドライバーはこのソフトで設定変更ができます<br />
<br />
<br />
そして、お詫びなのですが<br />
電池残量だと思っていた情報が間違っていたので<br />
今回は電池残量通知機能を無効化しました<br />
ごめんなさい<br />
<br />
不具合だと思ってチェックしていたら期待した変化をしていませんでした<br />
<br />
<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10511890014.html</link>  
      <pubDate>Sun, 18 Apr 2010 20:47:46 +0900</pubDate> 
    </item>  
    <item> 
      <title>ドライバーの修正＋α</title>  
      <description><![CDATA[<p>
 <font size="2">この前公開したサスペンド対応ドライバーの修正を行いました<br />
人柱版で公開しています<br />
テストしても良いよって方はよろしくお願いします<br />
<br />
<br />
それとずーっと放置し続けて1年数ヶ月の振動機能ドライバーを<br />
ようやく更新しました<br />
新たにx64に対応したのと64ビットの場合はWOW64で利用出来る様に<br />
しておきました<br />
<br />
ただ、x64版（WOW64をのぞく）はテストが不十分なので<br />
こちらも人柱版として公開しています<br />
<br />
また設定ツール代わりのユーティリティソフトに公開直前で不具合が<br />
見つかったので修正が終わるまでは振動設定ができません<br />
<br />
以前の振動機能ドライバーでの設定変更がレジストリに残っていれば<br />
そちらを利用するようになっています<br />
<br />
<br />
あと、以前のBluetooth版ドライバーだと振動させたときに動作が<br />
重くなる症状が発生する場合があります<br />
この症状が出ている場合は今回のドライバーに変えてみてください<br />
<br />
</font>
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10511135617.html</link>  
      <pubDate>Sat, 17 Apr 2010 23:10:51 +0900</pubDate> 
    </item>  
    <item> 
      <title>サスペンド対応できたかな？</title>  
      <description><![CDATA[<p>
 ドライバー更新しました<br />

サスペンド機能への対応が主な更新内容です<br />

ただし、あまり確認が取れていないので人柱版として公開しています<br />

<br />

<br />
USB版は割とすぐに対応できたのですが<br />
Bluetooth版は手抜きが祟って時間がかかってしまいました<br />
<br />
更新内容にはユーティリティソフト関連の修正も含まれていますが<br />
基本的な部分は前のバージョンと変わっていないため<br />
サスペンド機能を利用しない方は更新する必要は無いです<br />
<br />
テストしていただける方は歓迎です<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10498265145.html</link>  
      <pubDate>Fri, 02 Apr 2010 21:45:31 +0900</pubDate> 
    </item>  
    <item> 
      <title>ドライバーのリセット</title>  
      <description><![CDATA[<p>
 以前ちらっとお知らせしたユーティリティソフトですが<br />


もう少しで仕上がりそうっていうところで、ちょっと躓きました<br />


<br />


<br />


設定ソフトにも実装してあるドライバーのリセットがまともに<br />


動作しません＞＜<br />


<br />


<br />


<font size="1">HDEVINFO hdevinfo;<br />


SP_DEVINFO_DATA devinfodata;<br />


SP_PROPCHANGE_PARAMS pcp;<br />


<br />


//事前にSetupDiGetClassDevsでハンドル取得<br />


//SetupDiEnumDeviceInfoでデバイスの列挙<br />


pcp.ClassInstallHeader.cbSize=sizeof(SP_CLASSINSTALL_HEADER);<br />


pcp.ClassInstallHeader.InstallFunction=DIF_PROPERTYCHANGE;<br />


pcp.StateChange=DICS_PROPCHANGE;<br />


pcp.Scope=DICS_FLAG_CONFIGSPECIFIC;<br />


pcp.HwProfile=0;<br />


SetupDiSetClassInstallParams(hdevinfo,&amp;devinfodata,&amp;pcp.ClassInstallHeader,sizeof(pcp));<br />


SetupDiCallClassInstaller(DIF_PROPERTYCHANGE,hdevinfo,&amp;devinfodata);<br />


SetupDiDestroyDeviceInfoList(hdevinfo);</font><br />


<br />


<br />

上のソースはドライバーリセット部分の一部です<br />


WDK付属のdevconのソースを参考に設定ソフトに実装したものです<br />


<br />


今回ユーティリティソフトにもほぼ同一のソースで実装してありますが<br />

これがうまくいっていません<br />

ドライバー側には終了準備命令がくるのですが、その後すぐに終了命令の<br />


キャンセルがきてしまいドライバーのリセットが正しく行われません<br />

<br />

<br />

まさか失敗すると思ってなかったので実装自体を後回しにしてたら<br />

もうちょっとで完成ってところでコケました(・・；)<br />
<br />
<br />
(2010/03/16 22:03追記）<br />
<br />
失敗の原因が判明しました（たぶん）<br />
同一プロセスで該当デバイスのファイルハンドルを開いた状態にしていると<br />
ドライバーが正常に終了出来ずSetupDiCallClassInstallerで失敗するようです<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10480249927.html</link>  
      <pubDate>Fri, 12 Mar 2010 23:50:17 +0900</pubDate> 
    </item>  
    <item> 
      <title>ドライバーの構造</title>  
      <description><![CDATA[<p>
 今更ですが、書きかけで放置してたネタでもどうぞ…<br />
<br />


<div align="center"><a href="http://stat.ameba.jp/user_images/20100224/22/tamanotsuribori/67/5a/j/o0578067310427704919.jpg"><img width="220" height="256" border="0" alt="Tamamyの釣り堀-Bluetoothスタック図" src="http://stat.ameba.jp/user_images/20100224/22/tamanotsuribori/67/5a/j/t02200256_0578067310427704919.jpg" /></a>

</div>

<br />

通常のBluetoothのドライバースタックは上図の様な構造になっています<br />

淡い青の部分一つ一つが個別のドライバーソフトです<br />

下に行くほどハードウェアに近くなって、逆に上に行くほどドライバーを<br />

利用するアプリケーションに近くなります<br />

<br />

SIXAXIS/DUALSHOCK3はHIDなので本来ならそのまま利用できるはず<br />
なのですが、特別な初期化とペアリングの問題があるため標準ドライバー<br />
では利用できません<br />
<br />
Bluetoothシステムの一部としてコントローラーを利用するのであれば<br />
HidBthの部分だけSIXAXIS/DUALSHOCK3に対応させれば良いと思います<br />

<br />

なのですが、TamamyのBluetooth版のドライバーは上図の様な構造には<br />

なっていません<br />

図で言うと、BthUSB、BthPort、BthEnum、HidBthが一つにまとまった状態に<br />

なっています<br />

HidBthのみを作る方法がわからなかったので、こんな形になっています<br />

<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10467219448.html</link>  
      <pubDate>Fri, 26 Feb 2010 21:43:45 +0900</pubDate> 
    </item>  
    <item> 
      <title>ドライバー更新しました</title>  
      <description><![CDATA[<p>
 ドライバー更新しました<br />
修正内容はほぼ前々回のブログに書いたので省略します<br />
<br />
<br />
公開を予告したソフトはもうしばらくお待ちください<br />
こちらは、一番修正しないといけない振動機能ドライバーの<br />
修正が終わらないと調整が進みません<br />
<br />
 
</p>]]></description>  
      <link>http://ameblo.jp/tamanotsuribori/entry-10463230669.html</link>  
      <pubDate>Fri, 19 Feb 2010 23:50:40 +0900</pubDate> 
    </item> 
  </channel> 
</rss>

