RE:IsSupported()の引数
(
みやさか
)
2001/02/08 16:32
> ここですが、
> DWORD dw = reinterpret_cast<DWORD>(*f);
> return( dw && aspi.isSupported(fn, dw) );
>
> 「ファイルハンドルが 0」とは「有効&&あり得る」値
> なのでしょうか?
CreateFile のマニュアルでは、「関数が失敗すると INVALID_HANDLE_VALUE が返ります」
とあって、その INVALID_HANDLE_VALUE は
#define INVALID_HANDLE_VALUE (HANDLE)-1
というように定義されていますから、それ(-1)以外の値は「有効」と見た方が安全だと
思います。
それから、ファイルハンドルの有効性が既にテスト済みならば、ここで改めてテストする
ことはないと思います
> また、そもそも、このコードは、きちんとキャストが
> できているのでしょうか?
> きちんと上位ワードを管理しているのでしょうか?
C++ に関しては詳しくないのですが、キャストの前後でビットパターンが保存されていれば
(つまり1ビットも変わっていなければ)問題ないはずです。
> これって、どうして引数の型が DWORD なのでしょうか?
>
> そういや、第1引数って、どうして const がないのでしょう?
プラグインの API 仕様については、たけちんさん自身も「所々失敗している」という
ようなことを言っているので、「なぜ?どうして?」というようなことは敢えて
考えない方が良いと思います(^^;。
ファイル名については、プラグイン側で文字列を変更するどころか、全く見ていない
プラグインが多いので、const が付いているもの(プラグイン側では変更されないもの)
として扱っても特に支障はないと思います。
もし仮にプラグイン側で文字列が変更されることを想定しているのなら、そのバッファ
領域が何バイトあるのかということを考える必要がありますし、そういったことは
API 仕様には全く書いてありませんから、(プラグインの設計者から見ると)とても
変更なんてできるものではないでしょう(^^;;。
--「RE:IsSupported()の引数」に対するコメント--
タイトル(Subject):
お名前(Your name):
Mail address:
Password:
:入力しておくとあとで削除できます
Your message:
7thBridge P ver0.26 (c)Takechin