タイトル : Re^6: VolumeDeviceClassで「〜バッファが無効です」エラー 投稿日 : 2015/05/16(Sat) 17:50 投稿者 : Kobaちゃん
>32bit 向けコードで、64bit環境では動かない(とはいえ、簡単な修正で動くだろう)などと >書かれていましたね。 > 検索してみたら修正版が見つかりました。 > http://www.cnblogs.com/coolkiss/p/3205124.html 情報ありがとうございます。 簡単な修正とは思いませんでしたが、今回の質問とは違うので「解決」とさせた頂きました。 実機が手元にないため来週になりますが。。。 (話は戻りますが) CODE PROJECTにあるSimon Mourierさんのソースコードをもう入手できなくなり ましたが(DLできずエラーが出ました)下記サイトにありました。 実行画面を見る限り同じものかと? www.newxing.com/Code/CSharp/xitong/1820.html ※http〜を付けたら「そのURL形式では投稿できません」の警告が出ましたので省略しました。 C#のコードを修正版に差し替えてコンパイルしたUsbEject.exeをVBで参照すると いう手順だと思います。 C#は初めてなのでちょっと手こずるかもしれませんが頑張ってみます。 > vbNullString は、 > Dim vbNullString As String = Nothing > に相当します。(実際には変数ではなく定数ですが) > Nothing と同じ「参照なし」の意味ですが、 String 型であることが明示されています。 > > vbNullChar は、 > Dim vbNullChar As Char = ChrW(0) > に相当します。こちらは コード0 な 1 文字を示す物です。 > > "" は、ご存じのように長さ 0 の文字列。 > Nothing とは違い、String 型のインスタンスとして存在しています。 解説ありがとうございます。 ポインタが関係しているのですよね。 1.vbNullString:可変長文字列型ポインタの参照先が未定義 2.vbNullChar :1バイト文字型ポインタの参照先が定義されており、Null文字(コード0)を参照 3."" :可変長文字列型ポインタの参照先が定義されており、長さ 0 の文字列を参照 ではと認識しています。間違っていたらすみません。 魔界の仮面弁士さん、 親切なアドバイス、重ね重ねありがとうございます! 3年ぶりにこのプログラムをいじり始めましたが、頑張ってトライします!! |