メタデータと属性の取得と設定

アプリケーションは、ストレージまたはデバイスに関する 2 種類の情報 (属性とメタデータ) を取得できます。 属性は、通常、ストレージに子オブジェクトがあるかどうか、名前の変更、読み取り、削除が可能かどうかなど、ファイル システム情報を記述するより単純なブール値です。 属性は、 IWMDMStorage::GetAttributes または IWMDMStorage2::GetAttributes2 を呼び出すことによってフラグ値として取得されます。 属性は、 IWMDMStorage3::SetMetadata を呼び出すことによって設定されます。

アプリケーションでは、 メタデータとしてより複雑なデータ (数値、文字列、またはその他のデータ型) を要求することもできます。 メタデータ値は、一意の文字列名によって識別されます。 Windows Media デバイス マネージャーでは、値の要求に使用できる文字列定数の一覧を定義します。これらの定義された値は、メタデータ定数に一覧表示されます。 サービス プロバイダーは独自の定数を定義できますが、これらのカスタム メタデータ値を要求または設定するには、呼び出し元のアプリケーションでこれらの定義を認識する必要があります。 アプリケーションは 、IWMDMStorage3::GetMetadata または IWMDMStorage4::GetSpecifiedMetadata を呼び出してメタデータを要求します。

メタデータと属性の取得と設定の重要な側面は、取得された値の取得元を理解することです。 サービス プロバイダーまたはデバイスは、次のようなさまざまな場所からこれらの値を取得できます。

  • ファイル ヘッダーから。 たとえば、ASF ファイルでは、ビット レートがファイル ヘッダーに格納されます。
  • メソッドを呼び出すときにアプリケーションによって明示的に設定された値から。 これらの値は、サービス プロバイダーまたはデバイスの外部メタデータ ストアに保存できます。 このストアは、デバイスが切断またはオフになったときに保持される場合と、保持されない場合があります。 たとえば、再生回数とユーザー starの評価は、通常、コンピューターまたはデバイスの外部ストアに格納されます。
  • ファイル システムによって提供される情報を調べること。 たとえば、ファイルが読み取り専用かどうか、またはフォルダーに子があるかどうかなどです。
  • ファイル データを開いて解析します。

プロパティは複数の場所 (ファイル ヘッダー内およびローカル ストア内) に格納される可能性があり、編集可能である場合と編集できない場合があることに注意することが重要です。 たとえば、ファイルの説明を変更すると、永続的な場合とそうでない場合があります。サービス プロバイダーが説明をローカルに格納する場合、デバイスには保持されません。 同様に、ファイルの説明がファイル ヘッダーから取得された場合、この変更は、サービス プロバイダーまたはデバイスがヘッダー データを開いて変更した場合にのみ永続的になります。 ほとんどのアプリケーションでは、必要な値を変更して最適な試行を行いますが、永続的に変更されるプロパティには依存しません。

値の取得と設定の詳細については、後のドキュメントのアプリケーション開発者とサービス プロバイダー開発者向けの適切なセクションを参照してください。

アプリケーションとサービス プロバイダーに共通のタスク