シェルAPIを使用してFavoritesフォルダーを(再帰的に)列挙するコードがあります。この関数を使用して、GetAttributesOf
見つけた各オブジェクトの属性を取得します。
私は上に進むことは決してないので、私が遭遇するすべてのアイテムはファイルシステムオブジェクトになることを期待しています。これはおそらくすべてのサブディレクトリに当てはまるわけではありませんが、問題のサブディレクトリには当てはまると確信しています。
私の自信にもかかわらず、属性にが含まれていることを確認しますSFGAO_FILESYSTEM
。そうでない場合は、メッセージをログに記録してアイテムをスキップします。これは、自分の仕事ができる見込みがないためです。ロギングが表示されない、またはアイテムをスキップする必要がないことを期待していましたが、それが私がロールする方法であるため、とにかく検証を入れました。
数週間後、私の優秀なQAエンジニアは、私のプログラムが特定のアイテムに関して誤動作しているのを見て、その時間の前後に、そのアイテムにファイルシステムビットが設定されておらず、スキップしました。問題のアイテムは、信じるに足る理由があります。ファイルです。
私が最初にこの質問を書いたので、列挙内のいくつかのアイテムがファイルシステムアイテムではないと主張するケースを見てきました。トラブルは非常に短い時間続くようですが、半ダースものアイテムの旗を台無しにするのに十分な長さです。
ファイルがファイルシステムオブジェクトではないのはいつですか?