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 |