2

GetFileInformationByHandle() を使用せずに Windows でファイルのハードリンク数を取得する方法はありますか?

MSDN は次のように述べています。

オペレーティング システムの基盤となるネットワーク機能および接続されているサーバーの種類によっては、GetFileInformationByHandle 関数が失敗し、特定のファイルの部分的な情報または完全な情報が返される場合があります。

実際には、ネットワーク共有のリンク数を取得すると、両端の Windows バージョンに関係なく、常に 1 が返されます。これが機能する唯一のケースは、samba 共有にアクセスする場合です。Windows のバグ/制限を複製するのを忘れていたようです。また、部分的であることを通知しない「部分的な結果」は、API 呼び出しには非常に適しています。

4

2 に答える 2

1

少し奇妙に思えますが、どうでしょうかGetFileInformationByHandleEx。上で引用した権利放棄は含まれていないため、GetFileInformationByHandle で発生する可能性があるいくつかの問題を処理するためのスマート機能が組み込まれている可能性があります。

于 2010-08-19T15:28:05.443 に答える