次の方法で共有


IMDSPStorage4::CreateStorageWithMetadata メソッド (mswmdm.h)

CreateStorageWithMetadata メソッドは、指定されたメタデータを新しいストレージに適用して新しいストレージを作成し、新しく作成されたストレージの IMDSPStorage インターフェイスへのポインターを返します。 新しいストレージは、同じレベルで作成することも、現在のストレージに挿入することもできます。

このメソッドは、作成時にデバイスにメタデータが必要な場合に便利です。 デバイスによっては、ストレージを作成してからメタデータを設定するのではなく、作成時にメタデータを適用する方が効率的な場合もあります。

構文

HRESULT CreateStorageWithMetadata(
  [in]  DWORD         dwAttributes,
  [in]  LPCWSTR       pwszName,
  [in]  IWMDMMetaData *pMetadata,
  [in]  ULONGLONG     qwFileSize,
  [out] IMDSPStorage  **ppNewStorage
);

パラメーター

[in] dwAttributes

新しいストレージの属性を含む DWORD。 次の表に、使用可能なストレージ属性の一覧を示します。

属性 説明
WMDM_STORAGECONTROL_INSERTBEFORE 新しいストレージ オブジェクトは、ターゲット オブジェクトの前に作成されます。
WMDM_STORAGECONTROL_INSERTAFTER 新しいストレージ オブジェクトは、ターゲット オブジェクトの後に作成されます。
WMDM_STORAGECONTROL_INSERTINTO 新しいストレージ オブジェクトがターゲット オブジェクト フォルダーに作成されます。
WMDM_STORAGECONTROL_OVERWRITE 同じ名前のストレージが既に存在する場合は、破棄され、新しいストレージが作成されます。
WMDM_STORAGE_ATTR_FILESYSTEM このオブジェクトは、最上位のストレージ メディア (ストレージ カードやその他のオンボード ストレージなど) です。
WMDM_STORAGE_ATTR_REMOVABLE この記憶媒体は取り外し可能である。
WMDM_STORAGE_ATTR_CANEDITMETADATA このストレージでは、メタデータを編集できます。
WMDM_STORAGE_ATTR_FOLDERS このストレージ メディアは、フォルダーとファイル階層をサポートします。
WMDM_FILE_ATTR_FOLDER これは、ストレージ メディア上のフォルダーです。
WMDM_FILE_ATTR_LINK これは、複数のファイル間の関連付けを作成するリンクです。
WMDM_FILE_ATTR_FILE これは、ストレージ メディア上のファイルです。
WMDM_FILE_ATTR_AUDIO このファイルはオーディオ データです。
WMDM_FILE_ATTR_DATA このファイルはオーディオ以外のデータです。
WMDM_FILE_ATTR_CANPLAY このオーディオ ファイルは、デバイスで再生できます。
WMDM_FILE_ATTR_CANDELETE このファイルは削除できます。
WMDM_FILE_ATTR_CANMOVE このファイルまたはフォルダーは、ストレージ メディア上で移動できます。
WMDM_FILE_ATTR_CANRENAME このファイルまたはフォルダーの名前を変更できます。
WMDM_FILE_ATTR_CANREAD このファイルは、ホスト コンピューターによって読み取ることができます。
WMDM_FILE_ATTR_MUSIC このオーディオファイルは音楽です。
WMDM_FILE_ATTR_PLAYLIST これはプレイリストオブジェクトです。
WMDM_FILE_ATTR_VIDEO このファイルにはビデオ データが含まれています。
WMDM_FILE_ATTR_HIDDEN このファイルは、ファイル システムでは非表示になります。
WMDM_FILE_ATTR_SYSTEM これはシステム ファイルです。
WMDM_FILE_ATTR_READONLY これは読み取り専用ファイルです。
WMDM_STORAGE_IS_DEFAULT このストレージは、新しいメディアを配置する必要がある既定のストレージです。
WMDM_STORAGE_CONTAINS_DEFAULT このストレージには、新しいメディアを配置する必要がある既定のストレージが含まれています。

[in] pwszName

新しいストレージの名前を含むワイド文字の null で終わる文字列へのポインター。

[in] pMetadata

IWMDMMetaData インターフェイスへのポインター。

[in] qwFileSize

ファイル サイズを含む Qword

[out] ppNewStorage

新しく作成されたストレージの IMDSPStorage インターフェイスを受信するための IMDSPStorage ポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。 Windows Media デバイス マネージャーのすべてのインターフェイス メソッドは、次のいずれかのエラー コード クラスを返すことができます。

  • 標準 COM エラー コード
  • HRESULT 値に変換された Windows エラー コード
  • Windows Media デバイス マネージャー エラー コード
考えられるエラー コードの詳細な一覧については、「 エラー コード」を参照してください。

注釈

このメソッドは、作成時にメタデータをストレージに適用する必要がある場合に便利です。 これに対し、 IMDSPStorage2::CreateStorage2 メソッドと IMDSPStorage::CreateStorage メソッドは、作成時にメタデータを提供する方法を提供しません。

Windows メディア プレーヤーと同期できるデバイスのサービス プロバイダーがこのインターフェイスをサポートしている場合、Windows Media デバイス マネージャーは Insert/2/3 操作中にこのメソッドを呼び出します。

WMDM_FILE_ATTR_FOLDER属性とWMDM_FILE_ATTR_FILE属性の両方が設定されている場合、フォルダー属性によってファイル属性がオーバーライドされ、新しいストレージがフォルダーとして作成されます。

クライアントで指定できるのは、WMDM_STORAGECONTROL_INSERTBEFORE、WMDM_STORAGECONTROL_INSERTAFTER、WMDM_STORAGECONTROL_INSERTINTOのいずれか 1 つだけです。

新しいストレージは、同じレベルで作成することも、現在のストレージがフォルダーである場合は現在のストレージに挿入することもできます。 これは dwAttributes パラメーターの値によって制御されます。 WMDM_STORAGECONTROL_INSERTBEFOREまたはWMDM_STORAGECONTROL_INSERTAFTERを指定した場合、新しいストレージは現在のストレージと同じレベルで作成されます。 WMDM_STORAGECONTROL_INSERTINTOを指定すると、新しいストレージが現在のストレージに挿入されます。

WMDM_STORAGECONTROL_INSERTBEFOREとWMDM_STORAGECONTROL_INSERAFTERは、ファイル システム内のコンテンツの順序を意味します。 ファイル システムが順序付けをサポートしていない場合 (FAT32 ファイル システムなど)、両方のフラグは、現在のストレージのレベルで新しいストレージを挿入する効果が同じです。 現在のストレージがストレージ メディアのルートを表し、これら 2 つのフラグのいずれかが指定されている場合、操作は失敗します。

WMDM_STORAGECONTROL_INSERTINTOは、現在のストレージがフォルダーである場合にのみ有効です。 現在のストレージがファイルであり、このフラグが指定されている場合、操作は失敗します。

要件

要件
対象プラットフォーム Windows
ヘッダー mswmdm.h
Library Mssachlp.lib

こちらもご覧ください

Windows メディア プレーヤーを使用した同期の有効化

IMDSPStorage2::CreateStorage2

IMDSPStorage4 インターフェイス

IMDSPStorage::CreateStorage