共有フォルダの判定方法


しゅん  2003-03-07 00:07:09  No: 3095  IP: [192.*.*.*]

フォルダが共有設定されているかを判定するにはどうすればいいのでしょうか?
ご存じの方がいらっしゃればご教示ねがえませんでしょうか。
ローカルのPC(例えばCドライブなど)で、あるフォルダが共有されているか
が知りたいのです。

編集    削除
にしの  2003-03-07 00:40:20  No: 3096  IP: [192.*.*.*]

http://www.wwlnk.com/boheme/delphi/tips/tec0930.htm
ここが参考になるかと思います。

編集    削除
しゅん  2003-03-07 06:08:54  No: 3097  IP: [192.*.*.*]

情報ありがとうございます。
しかしここに掲載されているサンプルがコンパイルエラーとなって
うまく動きません。
変数の型が違うというエラーなので、型を合わせようとすると
他に影響が出ます。
APIのWNetEnumResourceの使い方がよく分からず苦しんでいます。

編集    削除
にしの  2003-03-07 08:34:02  No: 3098  IP: [192.*.*.*]

型をあわせればいいんですよ。
# たぶん、D3かD2のころにはエラーにならなかったんだと思います。

他に影響がでるところも、前後をよく見ればわかると思います。
integerとCardinalを、コンパイラが別物として扱っていることが原因です。
すべてCardinalに統一しましょう。
また、レコードへのポインタを、PNET...(名前はちょっと忘れましたが)というような形で定義していると思います。これも、すべてPointerにあわせましょう。
APIの戻り値で、ポインタとして扱うはずの値が、関数の定義上Cardinalになっていることもありますが、戻り値をPointerでキャストする事で回避できます。

WNetEnumResourceの使い方は、このサンプルが動かせれば理解できるはずです。まずは、キャストや型というものがどういうものかを知りましょう。

極論すれば、変数の型はあってないようなもので、ビット数さえあっていれば型は変換できます。
たとえば、integerで-1であっても、Cardinalで4294967295であっても、値は同じです。

編集    削除