Windows 秘話功罪混合

Raymond Chen

CD や DVD を挿入すると、 シェルによってディスクの "スニッフィング" が行われて、そのコンテンツの種類が判断されます。この判断に基づいて、実行すべき自動再生アクションが決定されます。スニッフィングがどのように行われるかの詳細については、将来さらに優れたアルゴリズムが見つかった場合に変更される経験則なので文書化されていません。

アルゴリズムを公式に文書化すると契約の概念が発生するので、今後のリリースでアルゴリズムを変更できなくなります。したがって、アルゴリズムの詳細については正式には指定されていません。

これまで SDK の文書を記述したことがない方は、文書化が契約につながることをご存じないかもしれません。特定の動作に関する記録がある場合、それを変更することはできません。変更した場合、その動作に依存している人々から、「文書に記載されている内容と違うじゃないか。ゲームが始まった後にルールを変更することはできないよ。」と言われてしまいます。

この注意を踏まえて、ここでは、autorun.inf ファイルがないデータ CD およびデータ DVD のコンテンツが Windows® XP Service Pack 2 (SP2) でどのように分類されるかを驚くほど簡略化して説明します (今後の Service Pack および今後のバージョンの Windows では動作が異なる可能性があります)。「驚くほど簡略化して」と言った理由は、実際のアルゴリズムが、フォアグラウンド アプリケーションが "Query cancel autoplay" 通知に応答するかどうか、全画面プログラムが実行中であるかどうか、コンピュータがラップトップかどうかなどというすべての種類の情報が考慮される 61 ものステップに基づいたディシジョン テーブルだからです。しかし、ここでは、コンテンツ スニッフィングのステップだけを説明するつもりはありません。

  

まず、シェルでは、すべてのコンテンツ タイプに対するアクションとして "何もしない" が指定されているかどうかをチェックします。指定されている場合は、スニッフィングを行う必要はありません。判断は "何もしない" です。

指定されている場合は、シェルで何らかの処理が必要です。ディスク上の各ファイル (最大 4 レベル下の階層まで) がチェックされ、ファイルは識別されたタイプに基づいて、画像、音楽、ムービーのカテゴリに分類されます。

これらのカテゴリに該当しないファイルは無視されます。チェックされたすべてのファイルに該当するのが 1 つのカテゴリだけの場合 (ディスク上のすべてのファイルが音楽ファイルである場合など)、ディスクの種類が決定されます。3 つのカテゴリのうち複数のカテゴリが該当する場合、ディスクは混在したコンテンツと見なされます。

これは、音楽ファイルで構成された CD にアルバム アートが含まれている場合、Windows XP SP2 では、この CD は混在したコンテンツとして扱われることを意味します。この点は変更の必要があるかもしれません。しかし、このアルゴリズムを変更して、MP3 ファイルで構成された CD に画像データが含まれている場合に混在したコンテンツと見なされないようにすると、主にオーディオ ファイルで構成され少量の画像を含む CD をレコード会社が発売した場合、このレコード会社は、その CD が混在したコンテンツとして検出されることを予想しています。しかし、アルゴリズムが変更されているので、CD は音楽 CD として認識されます。そうなれば、レコード会社は抗議するでしょう。この場合、責任はどこにあるのでしょうか。スニッフィング アルゴリズムに依存したレコード会社でしょうか。それとも、アルゴリズムが変更された Windows でしょうか。

驚くなかれ、ほんの少しですが、Windows Vista™ ではアルゴリズムが変更されています。Windows Vista では、よく知られた特定のディスク レイアウトのアルゴリズムを簡略化するために、いくつかのチェックが事前に行われます。たとえば、ディスクのルートに DCIM フォルダが存在する場合、デジタル写真が含まれていると見なされます。気が付く人がいるかどうか、楽しみです。

Raymond Chenの Web サイト「The Old New Thing」(英語) および同じタイトルの著作 (Addison-Wesley、2007 年) では、Windows の歴史と Win32 プログラミングを扱っています。Raymond Chen は、太陽はどのような形をしているのかを考えています。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.