var name1 = new System.Text.StringBuilder(); var name2 = new System.Text.StringBuilder(); DX.GetJoypadName(DX.DX_INPUT_PAD1, name1, name2); 上記プログラムで確認したところ、name1 と name2 の違いはなんでしょうか? 表示させたら同じ文字列になりました。
GetJoypadName では第一引数に渡したアドレスに「デバイス登録名」が代入され、 第二引数に渡したアドレスに「製品登録名」が代入される、となっています この関数は DirectInput から得られる値を単純に渡すだけなので、何故同じ文字列なのかといえば 「デバイスを作成したメーカーが DirectInput の戻り値となる『デバイス登録名』と『製品登録名』を同じにしたから」 ということになります
謎が解けてすっきりしました。ありがとうございます。 なにか自分のケアレスミスのような気がしてならなかったので、これで心のもやもやが無くなりました。